带配置的 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 位置:

  • /etc/ssh/ssh_config
  • 〜/.ssh /配置

我现在正在使用正确的 ec2 实例:

  • 连续工作日 = ~
  • 配置位置 = ~/.ssh/config
  • 配置文件
Host terraria
    HostName "###-###-##-##-###.compute-1.amazonaws.com"
    User ubuntu
    IdentityFile ~/.ssh/"Terraria Key.pem"
  • ssh terraria

相关内容