ssh-id-copyを使用するには、id_rsa.pubとid_rsaの両方が必要ですか?


19

友人の2番目のアクセスsshキーを設定しようとしています。彼はid_rsa.pubを送ってくれました。

ssh-copy-id -i id_rsa.pub root@123.123.123.123
/usr/local/bin/ssh-copy-id: ERROR: failed to open ID file './id_rsa': No such file or directory

両方のファイルを送信する必要がありますか?


1
.pubで十分です。また、秘密鍵は常に秘密にしておくことに注意してください(常に!)。新しいキーを追加するには、単純に.pubのコンテンツをauthorized_keysに追加します。
ディー

2
@deagh秘密鍵を秘密にする必要はありません。安全に保つ必要があります。

SSH-コピー-IDスクリプトここでは、その特定のエラーメッセージを発するように表示されません。ssh-copy-idスクリプトが/ usr / local / binにあることに気付きました。一般的に使用されるバージョンのコマンドとは異なる場合があります。
ケンスター

回答:


12

ssh-copy-id同じ名前の秘密キーファイルが利用できない場合、OpenSSHからのコマンドは失敗します。これは、指定されたキーでログインして、リモートサーバーに既に存在するかどうかを確認しようとするためです。

最近のバージョンでは、この動作を-fスイッチでオーバーライドできます(「強制モード」)。

manページから:

-f

    強制モード:リモートサーバーにキーが存在するかどうかを確認しません。これは、秘密鍵が必要ないことを意味します。もちろん、これにより、リモートシステムに複数のキーのコピーがインストールされる可能性があります。


1
ヘッドアップ、パラメーターの順序は厳密です。引数の前に-f渡した場合にのみ期待どおりに機能-iます。ssh-copy-id -i mykey.pub -f otheruser@host-fを先頭に移動するまで文句を言います。
init_js

5

これ.pubで十分です。正しいフォルダーにいません。

これを試すことができます:

ssh-copy-id -i /root/.ssh/id_rsa.pub root@123.123.123.123

(rootユーザーの場合:推奨されません、単なる例です)。

このファイルは.ssh、ユーザーフォルダーのフォルダーの下にあります。


4
マック上では必要-fあなたが私が思うに、同様に秘密鍵を持っていない場合
スティービーG


1

ここで述べたように、これはバグです。

とにかく、空のファイルを作成するだけで機能します。あなたの場合:

$ touch ./id_rsa
$ ssh-copy-id -i id_rsa.pub root@123.123.123.123

私は同じ問題を抱えており、これは私のために働いたworked


-1

私にとっては、問題は「キーを保存するファイルを入力してください(/Users/xiaoyu/.ssh/id_rsa):」と尋ねるときです。uはid_rsaと入力する必要があります

そして、コマンド「ssh-copy-id -i〜/ .ssh / id_rsa.pub polytech@192.168.0.102」を使用します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.