SSHの公開鍵(publickey)設定

SSHでの鍵の作成

公開キーを作成するため,ssh-keygenコマンドを使用します.暗号化方式にはRSAとDSAが使えます。
これらの暗号化方式の公開キーを作成するオプションは下記のようになります。

$ ssh-keygen -t rsa1 -C "SSH1 RSA key" 
$ ssh-keygen -t rsa  -C "SSH2 RSA key" 
$ ssh-keygen -t dsa  -C "SSH2 DSA key"
      

多分,RSAを使うほうがよいでしょう。

$ ssh-keygen -t rsa  -C "SSH2 RSA key" 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/yanagimoto/.ssh/id_rsa):
Created directory '/home/yanagimoto/.ssh'.
Enter passphrase (empty for no passphrase):*********
Enter same passphrase again:*********
Your identification has been saved in /home/yanagimoto/.ssh/id_rsa.
Your public key has been saved in /home/yanagimoto/.ssh/id_rsa.pub.
The key fingerprint is:
95:4e:6a:c8:87:8f:b8:67:7b:d8:19:ca:d2:57:a0:c0 SSH2 RSA key
      

コマンド実行後.sshディレクトリにid_rsa(秘密鍵)とid_rsa.pub(公開鍵)が作成されます.

公開鍵をリモートホストに送る

公開鍵ファイルid_rsa.pubを、接続したいリモートホストに持って行きます。この時に安全を期したいならscpなどを使用した方が良いでしょう。

$ cd ~/.ssh
$ scp -2 id_rsa.pub USER@HOST:~/
      

次にリモートに接続し、id_rsa.pubを.ssh/authorized_keysに追加します。

$ ssh REMOTE_HOST
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
      

コマンド実行後.sshディレクトリにid_rsa(秘密鍵)とid_rsa.pub(公開鍵)が作成されます.

接続確認

設定が終わったらログアウトし、再度sshでログインしてみます。今度はpassphraseを聞いてきますので、ssh-keygenで入力したパスフレーズを入力すればログイン出来ます。

$ ssh REMOTE_HOST
Enter passphrase for key '/home/HOGEHOGE/.ssh/id_rsa':**********
      
Last modified: Wed Dec 19 18:42:42 2007 JST