認証プロンプトなしでsshキーを押してサーバーからログインする必要があるクライアントシステムはほとんどありません。
まず、サーバー上で、以下のように成功したsshキーを作成しました
]# ssh-keygen -t rsa -N "" -f my.key
次に、pubキーをコピーしようとしましたが、IDエラーなしで失敗しました。ここで間違った手順を実行していますか?
]# ssh-copy-id my.key.pub 10.10.1.1
/usr/bin/ssh-copy-id: ERROR: No identities found
-i
フラグを使用する必要があります。
ssh-copy-id -i my.key.pub 10.10.1.1
manページ から:
-iオプションを指定すると、ssh-agentにキーがあるかどうかに関係なく、IDファイル(デフォルトは〜/ .ssh/id_rsa.pub)が使用されます。それ以外の場合、次の場合:ssh-add -Lは出力を提供し、IDファイルに優先してそれを使用します
次のコマンドを実行します
# ssh-add
次のエラーが表示される場合:認証エージェントへの接続を開けませんでした
このエラーを削除するには、次のコマンドを実行します。
# eval `ssh-agent`
クライアントでsshキーを生成すると解決しました
$ ssh-keygen -t rsa
Ssh-copy-idは、システムでssh-keygenによって生成されたid_rsa.pubファイルを見つけることができません。次のコマンドを使用して完了します。
locate *.pub
ssh-copy-id -i /home/user_name/.ssh/id_rsa.pub hostname
-iオプションを使用してキーを指定する必要があります。
ssh-copy-id -i your_public_key user@Host
ありがとう。
最も簡単な方法は次のとおりです。
ssh-keygen
[enter]
[enter]
[enter]
cd ~/.ssh
ssh-copy-id -i id_rsa.pub USERNAME@SERVERTARGET
属性:
とても簡単です。
「ss-keygen」のマニュアルで説明しています:
「説明ssh-keygenは、ssh(1)の認証キーを生成、管理、変換します。ssh-keygenは、SSHプロトコルバージョン1で使用するRSAキーと、SSHプロトコルバージョン2で使用するDSA、ECDSAまたはRSAキーを作成できます。生成されるキーは-tオプションで指定されます引数なしで呼び出された場合、ssh-keygenはSSHプロトコル2接続で使用するためのRSAキーを生成します。 "
古い投稿が、私は今日この問題を思いつき、グーグルで終わって、ここで自分自身を見つけました。私は自分でそれを理解していましたが、同じ問題を抱えている可能性のある他の人を助けるために、私のケースで私の問題と解決策を共有すると思いました。
問題:
[root@centos [username]]# ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa):
Iちょうどヒットしました
/usr/bin/ssh-copy-id: ERROR: No identities found
解決:
Enter file in which to save the key (/root/.ssh/id_rsa): **/home/[username]/id_rsa**
これをrootとして実行している場合は、ログインするユーザーディレクトリにキーをコピーしていることを確認してください。ルートユーザーディレクトリではありません。
この操作を実行するときにマシンに入れていたので、ssh-copy-idはデフォルトでログインしているディレクトリを指しているだけだと思います。
これが誰にも役立つことを願っています。
実際、Ubuntuマシンの1つの問題は、ssh-keygenコマンドが正しく実行されなかったことです。もう一度実行して、/ home/user1/.sshに移動し、id_rsaキーとid_rsa.pubキーを表示できるようにしました。その後、コマンドssh-copy-idを試行しましたが、正常に機能していました。
他の場所から手動でコピーした秘密キーを持つexistingアカウントで、これに遭遇しました。 publicキーがないため、エラーが発生します
プライベートから生成するだけです
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub