Ubuntu 18.04 LTSを使用しています。
- 毎回
ssh-copy-id
最初にusername@host
期待どおりにauthorized_keysファイル行の末尾にmyを入れました。
リモートシステムでは:
sacredos@sacredos-DT:~$ cat /home/sacredos/.ssh/auth*
ssh-rsa ... sacredos@sacredos-LT
ローカルマシンで:
sacredos@sacredos-LT:~$ ssh-add -l
4096 SHA256:... sacredos@sacredos-LT (RSA)
- 別のコンピュータまたは後続のコンピュータに移動すると、
ssh-copy-id
そこにidファイルへのパスが保存されます。
キーを消去して再コピーした後、リモートシステムから:
sacredos@sacredos-DT:~$ cat /home/sacredos/.ssh/auth*
ssh-rsa ... /home/sacredos/.ssh/id_rsa
キーを再コピーした後、ローカルマシンから:
sacredos@sacredos-LT:~$ ssh-add -l
4096 SHA256:... /home/username/.ssh/id_rsa (RSA)
- 設定などについて私が行ったことではないことを確認するために新しいシステムをインストールしましたが、同じように動作します。これは、クリーンな状態の同じマシンでも新しいマシンでも、キーが複数回ssh-copy-id'になっている場合に発生します。
ここで何が起こっているのでしょうか?
答え1
ssh-copy-id(1)
マニュアルページから:
これがなければ、デフォルトの動作は出力が提供されていることを
-i
確認しssh-add -L
、提供されている場合はそのキーを使用することです。この結果は次のとおりです。 キーの説明は与えられたファイル名ですssh-add(1)
ssh-agent(1)
そのファイルに含まれるコメントの代わりにキーがあなたのキーにロードされるのはやや恥ずかしいことです。そうでなく、ssh-add(1)
キーが提供されない場合は、default_ID_file
コンテンツが使用されます。
したがって、常に例を挙げて使用する必要があります。 (マンページの説明に従って)またはIDファイルのコメントを保存したい場合-i ~/.ssh/id_rsa.pub
。ssh-agent
ssh-agent
デフォルトでは、Debian(およびおそらくUbuntuでも)では、GUIセッションは(View)の子プロセスとして実行されるため、意図しなくても/etc/X11/Xsession.d/90x11-common_ssh-agent
それを使用します。ssh-agent
また、オプションを有効にすると、キーは実行されず、実行時にssh-agent
自動的ssh
に追加されますssh-copy-id
。 (マンページ参照)ssh-add
AddKeysToAgent
ssh_config(5)