只是為了澄清:我收到的錯誤與 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 檔案複製到另一台電腦。給予相同的權限並且......它們以兩種方式工作,使用配置和完整的命令行。
答案1
我有同樣的問題,ec2 和一切。跑步時ssh host-name -v
我會得到connection timed out
.我試過:
- 開啟 ec2 ssh 入站權限
- 開啟 .pem 的 chmod 權限(不能這樣做,必須是 400)
- 簡化鍵名
最後,我仔細檢查了我的主機名,發現它是錯誤的 ec2 實例。此外,還有多個 .ssh/config 位置:
- /etc/ssh/ssh_config
- 〜/ .ssh /配置
我的現在正在使用正確的 ec2 實例:
- CW=~
- 配置位置 = ~/.ssh/config
- 設定檔
Host terraria
HostName "###-###-##-##-###.compute-1.amazonaws.com"
User ubuntu
IdentityFile ~/.ssh/"Terraria Key.pem"
ssh terraria