Ssh-copy-idコマンドは正確に何をしますか?私はそれを何度も使用しました、そしてそれは素晴らしい働きをします。ただし、.pubキーファイルを手動で切り取ってリモートのauthorized_keysに貼り付けようとすると、機能しません。
.pubを切り取って貼り付けたauthorized_keysファイルの内容と、その後ssh-copy-idを使用したファイルの内容を比較しましたが、空白を含め、2つの間に違いは見られません。
公開鍵をauthorized_keysにコピーする以外にssh-copy-idが行うことはありますか?
この小さなコマンドは実際に機能するはずです。 Macを使用している場合など、ssh-copy-idがない場合は常に使用します。
cat ~/.ssh/id_rsa.pub | ssh <user>@<hostname> 'cat >> ~/.ssh/authorized_keys'
IMO手動でコピーして貼り付けるよりも優れています。この場合、ファイルに含まれるコンテンツを正確に把握できます。
私は通常、あなたが説明するようにキーをauthorized_keysにコピーアンドペーストします(ssh-copy-id
を忘れます)ので、それは機能します。ファイルを作成する場合は、chmod 600 ~/.ssh/authorized_keys
が必要であることに注意してください。
ssh-copy-id
はシェルスクリプトであるため、テキストエディターで開いて、その機能を確認できます。これは、関連するビットのように見えます。
printf '%s\n' "$NEW_IDS" | ssh "$@" "
umask 077 ;
mkdir -p .ssh && cat >> .ssh/authorized_keys || exit 1 ;
if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi"
restorecon 最後の行でデフォルトのSELinuxセキュリティコンテキストを復元します。私はそれを実行する必要はありませんでしたが、あなたの場合は必要かもしれません。