帶有配置的 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 檔案複製到另一台電腦。給予相同的權限並且......它們以兩種方式工作,使用配置和完整的命令行。

答案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

相關內容