キーの名前がid_rsaでない場合、機能しません


14

パスフレーズを使用してSSHで接続するためのキーを作成しました。キーに名前を付けましたid_rsa_admin。ログインすると、次のメッセージが表示されますPermission denied (publickey).

ログでは、sshがファイルid_rsaを検索するため、正しいファイルが見つかりません。

キーに名前が付けられid_rsaていないと機能しません。

sshで接続する方法は?

~/.ssh/id_rsa_admin

ssh admin@vps718449.ovh.net -p 9215

回答:


39

Arronicalの回答は1回限りの接続には適していますが、長期的には苦痛になります。sshこのサーバーに接続するときにこのキーを常に使用するようにするには、これを自分に追加します~/.ssh/config(または存在しない場合は作成します)。

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin

その後、あなただけで接続することができますssh admin@vps718449.ovh.net -p 9215。追加のボーナスとして、ポートを構成することもできます。

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin
    Port 9215

その後、あなただけで接続することができますssh admin@vps718449.ovh.net。さらにもっと:

Host vps718449.ovh.net vps
     Hostname vps718449.ovh.net
     User admin
     IdentityFile ~/.ssh/id_rsa_admin
     Port 9215

その後、ちょうどssh vps動作します!もちろん、これvpsは単なる例であり、必要な他のエイリアスを使用できます(たとえば、複数のVPSがある場合)。man ssh_configそこで設定できるオプションのリストを参照してください。


@fkraiemありがとうございます。3つのキーを使用する方法
マチュー

1
@Mathieuなぜ3つのキーなのか?3つの異なるホスト用である場合、各ホストに適切なキーを持つエントリを1つ追加するだけです。
fkraiem 16

@fkraiem私は、同じサーバ上の異なる3つの鍵を持っていますが、3ユーザーのための
マチュー

@Mathieu今はこれを確認できませんIdentityFileが、Hostセクションに3 行追加するだけでうまくいくと思います。また、User行を追加すると、そのユーザーはそのホストに接続するときにデフォルトになりますが、でそれをオーバーライドできます@
fkraiem 16

@fkraiemありがとうございます。動作しますが、次のエラーが表示されます。「エージェントはキーを使用した署名の失敗を認めました」。「SSH_AUTH_SOCK = 0」を使用して接続しますが、再起動するたびに実行する必要があります。他に挨拶はありますか?
マチュー

16

-iキーへのパスを使用して、sshコマンドのオプションを使用する必要があります。変更されたコマンドは次のとおりです。

ssh -i ~/.ssh/id_rsa_admin admin@vps718449.ovh.net -p 9215

ありがとうございました。「名前またはサービスが知られていない:ホスト名iを解決できませんでしたsshは」お返事と、次のエラーが表示されます
マチュー

5
-iホスト名の前に置くことも機能します。@Mathieuは単にハイフンを忘れたと思います。:p
fkraiem 16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.