カテゴリー : SSH

ssh 公開鍵・秘密鍵を作成するとき ssh-keygen で使ってるオプション

ssh 公開鍵・秘密鍵を作成するときに ssh-keygen コマンドで使っているオプションをご紹介します。

$ ssh-keygen -t rsa -b 4096 -f ~/.ssh/example.com -C who@example.com
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/yourname/.ssh/example.com.
Your public key has been saved in /Users/yourname/.ssh/example.com.pub.
The key fingerprint is:
SHA256:bDiAA/Rpt24cM3nlrCJBrWwsYQvass4z623oDowPIMA who@example.com
The key's randomart image is:
+---[RSA 4096]----+
|o.               |
|....o            |
|oEo=.o   .       |
|=.B.o.oo+        |
|=o.* *o.So       |
|=oo + =o.        |
|=... = .         |
|+*..o .          |
|+B*.             |
+----[SHA256]-----+

-t 鍵タイプを指定する(rsa/dsa)
-b 鍵の長さを指定する
-f 出力ファイルを指定する
-C 新しいコメントを追加する

$ ssh-keygen -l -f ~/.ssh/example.com
4096 SHA256:bDiAA/Rpt24cM3nlrCJBrWwsYQvass4z623oDowPIMA who@example.com (RSA)

-l 公開鍵の情報(種別、指紋、コメントなど)を確認する

僕個人の判断としては、2048bit RSA鍵で2030年まで戦えるらしいので当分それでいいと思っています。

という意見があるので、これで良しとしてます。

参考情報

[ssh] Warning: the RSA host key for ‘server_name’ differs from the key for the IP address ‘xxx’ の解決方法

EC2 instance を新しくした後 /etc/hosts を編集して、hostname はそのままで ip address だけ変更して ssh したら毎回下記のような警告メッセージが表示されるようになってしまいました。

[ec2-user@hoge ~]$ ssh server_name
Warning: the RSA host key for 'server_name' differs from the key for the IP address '10.123.123.123'
Offending key for IP in /home/ec2-user/.ssh/known_hosts:232
Matching host key in /home/ec2-user/.ssh/known_hosts:46
Are you sure you want to continue connecting (yes/no)?

known_hosts に host name と ip address の古い組合せの接続情報が残っているのが原因なので Matching host key in /home/ec2-user/.ssh/known_hosts:46 のメッセージに書かれているように known_hosts の 46 行目を削除しましょう。

[ec2-user@hoge ~]$ vim .ssh/known_hosts
# 46 行目を削除する

known_hosts を編集後、再び ssh します。

[ec2-user@hoge ~]$ ssh server_name
The authenticity of host 'server_name (10.123.123.123)' can't be established.
ECDSA key fingerprint is 6b:d3:33:ab:75:ee:50:dc:f0:0a:ca:7c:7e:bd:14:8e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server_name' (ECDSA) to the list of known hosts.

その後、切断してもう1度 ssh すると Warning メッセージが表示されなりました。

[ec2-user@hoge ~]$ ssh server_name
Last login: Thu Dec 31 00:48:26 2015 from forward_proxy1
 
       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

以上です。

[SSH] パスワード未設定な user で ssh 接続すると公開鍵認証のみでも失敗する

パスワード未設定 user で ssh 接続しようとすると公開鍵認証のみでも失敗してしまうみたいです。

-v オプションをつけて ssh 接続してみると Permission denied (publickey).

ssh your_usernama@123.456.789.123 -v
...
 
debug1: No more authentication methods to try.
Permission denied (publickey).

Permission denied (publickey). が表示されているときはサーバ上の /var/log/secure にログが出ているので確認してみます。

# tail -F /var/log/secure
Jun 28 18:44:57 host sshd[1370]: User your_username not allowed because account is locked
Jun 28 18:44:57 host sshd[1372]: input_userauth_request: invalid user your_username
Jun 28 18:44:57 host sshd[1372]: Connection closed by 123.123.123.123

sshd_config の設定でパスワードを設定していないユーザが ssh でログインできないようになっているようなので、おとなしく user にパスワードを設定します。

passwd your_username

セキュリティ高めるためにも user には最初からパスワード設定しましょう…。


参考情報

[SSH] Received disconnect from xxx : 2: Too many authentication failures for username

ssh で下記のようなエラーが発生しました。

ssh t_shigeoka@codenote.net -i ~/.ssh/id_rsa_t_shigeoka
Received disconnect from 184.169.144.233: 2: Too many authentication failures for t_shigeoka

サーバーにログインするための user を作成しまくって、接続テストをしていたため登録している鍵が多すぎてこうなってしまったっぽい。

ssh-add -D

して、エージェントから全ての鍵情報を取り除くことで解決しました。


参考情報

sshで「Too many authentication failures for …」が出た場合の対処法 – tkuchikiの日記

モバイル SSH クライアント「ServerAuditor」が Android や iPhone から使えて便利!

明日からお盆休みということで、iPhone からサーバーに ssh ログインできるように ServerAuditor というアプリをインストールしました。

ServerAuditor

下記、僕がつまづいた点を共有します。

ssh key の設定

ssh の秘密鍵は iTunes 経由でファイルをアプリに転送することができます。

コンソールをスクロールする方法

コンソールをシングルタップすると、編集モード (edit mode) とプレビューモード (preview mode) に切り替えることができます。編集モードとプレビューモードの見分け方は、キーボードの上部にカスタムキーボードが表示されているかどうかで判別できます。

迷いそうな点については help ボタンから詳しく確認することができます。

下記、2014/08/13 時点での help ページのスクリーンショットです。

ServerAuditor-help1

ServerAuditor-help2

ServerAuditor-help3

まとめ

気休め程度ですが iPhone からも ssh 接続できるようにしておくと休暇中も安心できそうです。はい。