Linux Master: ssh 補足

Fingerprint の取得

公開鍵を利用者に送っても、その内容を確認するには手間がかかるため、その要約であるFingerprint を使って確認する事がある。
たとえば初回のログイン時に表示される Fingerprint を確認するにはホストキーの値を以下の方法でえるとよい。

# ssh-keygen -lf ssh_host_rsa_key.pub
2048 4e:cb:33:bd:e7:11:8a:ba:78:58:ff:6f:00:5b:66:ca ssh_host_rsa_key.pub

SSH 操作の簡略化

~/.ssh/config (moode 644) を用意する事で、ホスト名やユーザー名の省略が可能となる。

Host	コマンド引数とする名称
	HostName	FQDN
	User		ユーザー名
例)
Host	myhost
	HostName	h006.s144.la.net
	User		student
上記例の場合、SSH系コマンドの引数は以下のように省略できる。
ssh の場合
Bfore   $ ssh student@h006.s114.la.net
After   $ ssh myhost

scp の場合
Bfore   $ scp student@h006.s114.la.net:memo.txt  .
After   $ scp myhost:memo.txt . 
なお~/.ssh/config には複数のエントリーを記述することができる。

パスフレーズ入力の省略

ssh-agent が稼働していると、ユーザに代わりエージェントが 自動的にパスフレーズを入力する。

初期状態にするには、クライアント側で以下を実行

$ eval `ssh-agent -k`
Agent pid 2092 killed

SSH Aget

Desktop が起動していると、ssh-aget がパスフレーズを記憶し、 ログオフするまでの間、秘密鍵アクセス時に入力を代行します。
なお画面には「パスワード」と表示されますが「パスフレーズ」の誤訳です。

POSSIBLE BREAK-IN ATTEMPT!

ssh を実行した際に、以下のような警告が表示される場合。

[root@h006 named]# ssh 10.20.125.6
Address 10.20.125.6 maps to h006.s125.la.net, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
root@10.20.125.6's password: 

このメッセージはFQDNとIPが不一致の場合に表示される。
逆引きも考えられるが、CentOSの場合はインストール時にホスト名を手動で設定した際に、/etc/hosts に不要な情報が追記されるため発生する。

具体的には 127.0.0.1 に対して自ホスト名が記述され、結果としてIPが 127.0.0.1 となり、FQDNと不一致だった。

修正前 127.0.0.1 h006.s125.la.net h006 localhost localhost.localdomain
修正後 127.0.0.1 localhost localhost.localdomain