明確にするために: 私が受け取っているエラーは、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