2-14. SSH接続の公開鍵化

1. 1.鍵のペア(公開鍵と秘密鍵)を作る

① TeraTermを立ち上げて、設定→SSH鍵生成を選択。


② ダイアログが立ち上がるので、生成ボタンを押す。
(鍵の種類はRSA、ビット数は2048のままでOK)


③ 「鍵のパスフレーズ」と「パスフレーズの確認」に同一のパスワードを入力。


公開鍵の保存、秘密鍵の保存をクリックすると、
それぞれ保存ダイアログが表示されるので、それぞれを保存する。

以上で鍵の作成は終了。


2. 公開鍵をサーバーに保存

① 次に先ほど作成した公開鍵ファイルをTera Termにドラッグアンドドロップする。


ドラッグアンドドロップすると「ファイル転送を行いますか?」というメッセージが表示されるので、 「SCP」をクリックし、ファイルを転送する。

② 鍵格納用フォルダを作り、作成したフォルダのパーミッションを設定した後、
鍵をフォルダに移動する。
 

$ pwd
/home/yaopi
$ ls
id_rsa.pub
$ mkdir .ssh
$ chmod 700 .ssh
$ mv id_rsa.pub .ssh/authorized_keys  


当初は、鍵格納用フォルダを作り、作成したフォルダに
nano ~/.ssh/authorized_keys で id_rsa.pub の内容を
貼り付けると云う方法で鍵ファイルを作成した。
すると、どこにミスがあるのか不明のまま、何度試みても、
「SSH2秘密鍵の読み込みに失敗しました」 というエラーに悩まされ、やむなく上記方法に変更するとうまく行った。

3. SSHの設定を変更して認証鍵方式にログイン方法を変更

続いてSSHの設定を変更する。

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org2
sudo nano /etc/ssh/sshd_config


[33~35行目付近]

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

↓ 35行目の#を外す

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

[54行目付近]

#PasswordAuthentication yes

↓ #を外し、yesをnoに変更

PasswordAuthentication no

以上で設定は終了なので、保存して終了。
 SSHサーバーを再起動して設定を読み込ませます。
 sudo /etc/init.d/ssh restart

4. TeraTerm の接続テスト

新しくターミナルを開いて初めのダイアログは今までと同じ設定でOKを押す。
今まで通りユーザ名とパスフレーズを入力してログオンを試みる。
 → 認証に失敗しました。再試行してください。と出るはず。
パスワードでのログインを禁止したのでこれでOK。
一旦、接続断を押して接続を切る。

再度新しいターミナルを開いて、今度は鍵認証でログオンしてみる。
初めのダイアログはそのままOKボタン。
今度はRSA/DSA/ECDSA鍵を使うにチェックを入れて秘密鍵ボタンを押す。



ファイル選択のダイアログが開くので、先に生成した
秘密鍵(デフォルト保存名:id_rsa)を選択して 開くボタンを押す。
この状態で、ユーザ名はいつものユーザー名、パスフレーズは鍵を生成した際に入力したパスフレーズ を入力してOKボタンを押す。

これで接続できればOK。

5. FileZilla の設定

FileZillaを起動し、メニュー [ 編集 ] – [ 設定 ] をクリックする。


下記の設定画面が表示されるので、画面左のツリーからSFTPをクリックする。


鍵ファイルを追加…をクリックし、TeraTermで作成したRSA秘密鍵ファイルを指定する。


TeraTermで作成したRSA秘密鍵は、そのままでは扱えないので
変換する旨のメッセージが以下のように表示される。
はい(Y) をクリックし次へ進む。


TeraTermで鍵作成時に設定したパスフレーズを入力し、OKボタンをクリックする。


FileZillaで認識できるように変換したデータを保存するファイル名を指定する。
ここでは、ディレクトリを変更して( filezilla.ppk )にした。


これで秘密鍵の登録は完了。設定画面の左のOKボタンをクリックしてを終了する。


6. FileZilla の接続テスト

FileZillaを起動し、メニュー [ ファイル ] – [ サイトマネージャ ] をクリックし、
接続するホストを、サイトマネージャーに登録。
編集を終えたら、接続ボタンをクリックして確認する。








関連ページ