SSHのクライアント側のセットアップ

SSHはリモート先と暗号化された通信を使って、安全に通信を行うためのプログラムです。例えば、GitHubに公開鍵を登録すれば認証にSSHを使い、通信にもSSH経由にするということが出来ます。

macOSには標準でクライアントプログラムがインストールされているので、すぐに使い始めることが出来ます。この記事では使い始めるための最初の設定方法を解説します。

秘密鍵と公開鍵を生成する

sshの鍵を生成するには次の様に操作します。

  1. ssh-keygenを使って鍵を生成する。
    # your_email@example.comは任意。何の鍵なのかが分かるようにコメント
    $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  2. 保存先を設定する。デフォルトのままでOK
  3. パスフレーズを設定する。任意のパスフレーズを入力

鍵のバックアップと復元

バックアップした鍵を復元するときや、事前に作成してある鍵を別のマシンに設定するときなどは以下の様にします。

  1. id_rsa

    id_rsa.pub

    ~/.ssh

    ディレクトリにコピーする。

  2. パーミッションを設定する。
    $ chmod 600 ~/.ssh/id_rsa

手順2のパーミッションの設定を行わないと、誰でも読める状態になっているので使用するときにエラーになります。

ssh-agentに鍵を登録

ssh-agentは、SSHを使って認証を行う時に便利なプログラムです。あらかじめ秘密鍵を登録しておくと、公開鍵で認証を行う時にパスフレーズの入力が不要になります。ssh-agentに秘密鍵を登録するには、ターミナルで次のようにします。「-K」オプションはパスフレーズをキーチェインに保存するというオプションです。

また、macOSの場合は ~/.ssh/config に以下の設定を先に書いておく必要があります。

Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa
# ssh-agentを起動
$ eval "$(ssh-agent -s)"

# 秘密鍵を登録。パーミッションが間違っていると、ここで弾かれる
$ ssh-add -K ~/.ssh/id_rsa

# 登録できると次の様に表示される
Identity added: /Users/akira/.ssh/id_rsa (/Users/akira/.ssh/id_rsa)

関連記事

  1. GPGの秘密鍵や公開鍵のバックアップ方法

  2. Confluenceから良い感じのPDFを作れる様にしてみた

  3. 古いOSは段々アプリが減ってくる

  4. [メモ] Bitbucket Serverのバックアップ設定

  5. Amazon Fire TV 4K HDR 2017を5GHzに接続す…

  6. XcodeやAppCodeで16進数や2進数で値を確認する方法

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事

  1. 2020.10.21

    GitLabへの移行