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)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

林 晃のアバター 林 晃 代表・ソフトウェアエンジニア

アールケー開発代表。Appleプラットフォーム向けのアプリ開発が好きなアプリ開発者。アプリの受託開発、技術書執筆、技術指導・セミナー講師。3DCGコンテンツ作成にも取組中です。

目次