設定付き ssh は動作しませんが、完全なコマンドライン付き ssh は動作します

設定付き ssh は動作しませんが、完全なコマンドライン付き ssh は動作します

明確にするために: 私が受け取っているエラーは、ssh ファイルの権限とは関係ありません。権限に関連するエラーは受け取っていないのです。

私は次の~/.ssh/configファイルを持っています

Host git-codecommit.*.amazonaws.com
  User APKAIxxxxxxxxxxxxxxx
  IdentityFile ~/.ssh/id_rsa

configおよびid_rsaファイルには次の権限があります

-rw------- 1 jmsanzg jmsanzg   93 jun 24 16:23 config
-rw------- 1 jmsanzg jmsanzg 1679 abr 26  2015 id_rsa
-rw-r--r-- 1 jmsanzg jmsanzg  396 abr 26  2015 id_rsa.pub

.sshディレクトリには次の権限があります

drwx------  2 jmsanzg jmsanzg      4096 jun 24 16:23 .ssh

sshを実行して証明書の使用を強制すると動作します

jmsanzg@jmsanz:~$ ssh -i ~/.ssh/id_rsa [email protected]
You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to git-codecommit.us-east-2.amazonaws.com closed by remote host.
Connection to git-codecommit.us-east-2.amazonaws.com closed.

しかし、設定ファイルを直接使用して実行しようとすると失敗します

jmsanzg@jmsanz:~$ ssh git-codecommit.us-east-2.amazonaws.com
Permission denied (publickey).

また、ユーザーを設定して、失敗する理由を見つけようとしただけでも、やはり失敗します

jmsanzg@jmsanz:~$ ssh [email protected]
Permission denied (publickey).

2015年からずっとうまく機能していたのに、昨日突然、何の変更も加えずに機能しなくなったので、気が狂いそうです。両方で-vパラメータを試してみましたが、特に違いは見当たりません。最後に、コマンドラインでRSA公開鍵が提供されます。

debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: /home/jmsanzg/.ssh/id_rsa
debug1: Server accepts key: pkalg rsa-sha2-256 blen 279
debug1: Authentication succeeded (publickey).

設定ファイルを使用するはずの他のコマンドラインは、/home/jmsanzg/.ssh/id_rsaファイルを提供していません。

debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

編集 もっと面白くするために、config、id_rsa、id_rsa.pub ファイルを別のコンピューターにコピーしました。同じ権限を与えると、config を使用する場合も完全なコマンド ラインを使用する場合も、両方の方法で動作します。

答え1

私も同じ問題を抱えていました。ec2 とその他すべてです。実行すると、ssh host-name -v次のようになりますconnection timed out。試しました:

  • ec2 ssh インバウンドの権限を開く
  • .pem の chmod 権限を開く (これはできません。400 である必要があります)
  • キー名の簡略化

最後に、HostName を再度確認したところ、ec2 インスタンスが間違っていました。また、.ssh/config の場所が複数あります。

  • ssh_config は、
  • 設定ファイル

私のものは現在、正しい ec2 インスタンスで動作しています:

  • cwd = ~
  • 設定場所 = ~/.ssh/config
  • 設定ファイル
Host terraria
    HostName "###-###-##-##-###.compute-1.amazonaws.com"
    User ubuntu
    IdentityFile ~/.ssh/"Terraria Key.pem"
  • ssh terraria

関連情報