Hatena::ブログ(Diary)

bobchinの日記 このページをアンテナに追加 RSSフィード

2009年07月07日(火)

[][][]Hack 73. ssh-agent と共に ssh-copy-id を使用する 15:54 Hack 73. ssh-agent と共に ssh-copy-id を使用するを含むブックマーク

ssh-add/ssh-agent と共に ssh-copy-id を使用する

オプション -i に何も値が渡されないと、 ~/.ssh/identity.pub が有効ではない場合に

ssh-copy-id は次のようにエラーメッセージを表示します。

jsmith@local-host$ ssh-copy-id -i remote-host
/usr/bin/ssh-copy-id: ERROR: No identities found

ssh-add を使用して ssh-agent にキーをロードしている場合、

ssh-copy-idssh-agent からキーを取得しリモートホストコピーします。

たとえば、ssh-copy-idオプション -i を渡さない場合、

ssh-add -L コマンドで与えられたキーをリモートホストコピーします。

jsmith@local-host$ ssh-agent $SHELL
jsmith@local-host$ ssh-add -L
The agent has no identities.

jsmith@local-host$ ssh-add
Identity added: /home/jsmith/.ssh/id_rsa (/home/jsmith/.ssh/id_rsa)

jsmith@local-host$ ssh-add -L
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsJIEILxftj8aSxMa3d8t6JvM79D
aHrtPhTYpq7kIEMUNzApnyxsHpH1tQ/Ow== /home/jsmith/.ssh/id_rsa

jsmith@local-host$ ssh-copy-id -i remote-host

jsmith@remote-host’s password:
Now try logging into the machine, with “ssh ‘remote-host’”, 
and check in: .ssh/authorized_keys to make sure we haven’t added extra keys that you weren’t expecting.
[Note: これは ssh-add -L によって表示されたキーを追加します]

ssh-copy-id について 3 つのちょっとしたお知らせ

次は ssh-copy-id についてのちょっとしたお知らせです。

1. デフォルトの公開鍵: ssh-copy-id は(オプション -i に何も渡されない場合)公開鍵ファイルとして ~/.ssh/identity.pub を使用します。

代わりに、デフォルトの鍵として id_dsa.pub または id_rsa.pub または identity.pub を使用します。

どれか 1 つが存在している場合、リモートホストにそのファイルコピーすべきです。

2, 3 存在している場合、デフォルトとして identity.pub をコピーすべきです。

2. エージェントID をもたない: ssh-agent が実行中で ssh-add -L が“The agent has no identities” を返すとき

(鍵は ssh-agent に追加されません)、

ssh-copy-id は“The agent has no identities” というメッセージリモートホストの authorized_keys エントリコピーします。

3. authorized_keys 内の重複エントリ: ssh-copy-idリモートホストの authorized_keys 上で重複したエントリをチェックしてほしいと思います。

ローカルホスト上で何度も ssh-copy-id を実行した場合、

重複をチェックせずにリモートホスト上の authorized_keys ファイルに同じ鍵を追記しつづけます。

重複したエントリをもっていても期待通りに動作します。

しかし、authorized_keys ファイルを整理しておきたいです。

トラックバック - http://d.hatena.ne.jp/bobchin/20090707