○2017/7/29
ssh関係の設定をし、いろいろ問題に出くわす中で、
調べていくうちにsshについていろいろわかってきたので、
まとめます。
まず、sshには「パスワード認証 」と「公開鍵認証」がある。
参考サイト:
http://l-w-i.net/t/openssh/auth_001.txt
http://nigohiroki.hatenablog.com/entry/2013/08/18/221434
ざっくり両者の解説
(公開鍵と秘密鍵の話は知ってる呈で)
・パスワード認証
クライアントが共通鍵を生成してサーバーと共有(サーバーの公開鍵で暗号化して送信)
→クライアントがパスワード送信(共通鍵で暗号化)
→サーバーが認証
→以降、共通鍵を使った暗号化で通信
接続するときのユーザーの操作としては、パスワードを入力するだけ。
・公開鍵認証
サーバーが乱数を生成してクライアントに送信(クライアントの公開鍵で暗号化)
→クライアントは乱数のMD5ハッシュしてサーバーに送信
→サーバーが認証
接続する前に、クライアント側で鍵を生成して、
公開鍵をサーバーに渡しておく必要がある。
そういえば、Linuxのsshd設定で、
パスワード認証を無効にするとかやったな。
って思った。
クライアントソフトごとの接続方法などは、こちらのサイトに。
https://webkaru.net/linux/ssh/
前回の記事でやった、ciscoルーターでのssh設定は、
パスワード認証だったことが分かった。
それじゃあ、ciscoルーターで公開鍵認証の設定もできるのだろうか?
(PCで作成した公開鍵をciscoルーターに保存することってできるの?)
調べてみたところ、できるみたい。
参考サイト:http://sig9.hatenablog.com/entry/2016/12/25/120000
・teratermでRSA鍵の作成(公開鍵と秘密鍵を保存)
・サーバー側の設定(C841Mルーター)
>en
#conf t
(config)#ip ssh pubkey-chain
(conf-ssh-pubkey)#username admin
(conf-ssh-pubkey-user)#key-string
(conf-ssh-pubkey-data)#(公開鍵のデータを流し込む)
※一行の文字列が長すぎると弾かれてしまうため、数回に分けて流し込む。
teratermで、
ユーザー名:admin(多分、pubkey-chainで設定したusername)
パスフレーズ:rsa鍵を作成した時のパスフレーズ
「RSA/DSA/~~~~鍵を使う」にチェック→秘密鍵(K):作成したRSA秘密鍵を選択
で接続
→OK
公開鍵方式/パスワード方式を有効/無効する設定もあるみたいだけど、
省略。