Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在向授权主机添加公钥后,`ssh`不起作用?_Ssh_Amazon Ec2_Ssh Keys_Pem - Fatal编程技术网

为什么在向授权主机添加公钥后,`ssh`不起作用?

为什么在向授权主机添加公钥后,`ssh`不起作用?,ssh,amazon-ec2,ssh-keys,pem,Ssh,Amazon Ec2,Ssh Keys,Pem,我有一个集群,其中有一个主节点和一个从节点。我想使用ssh连接主节点和从节点 现在,我可以使用私钥ssh-I~/.ssh/id_rsa ec2 user@从本地机器和从主节点直接进入从节点。我被要求输入密码,然后输入密码,就可以从本地机器和开发主机访问从属节点 理想情况下,我希望从dev master上的~/.ssh目录中删除我的私有id\u rsa密钥,并且只在主节点和从节点之间来回使用我的公钥id\u rsa.pub到ssh。(这是出于安全考虑,而且应该不会那么困难,对吧?) 因此,我将我的

我有一个集群,其中有一个主节点和一个从节点。我想使用ssh连接主节点和从节点

现在,我可以使用私钥
ssh-I~/.ssh/id_rsa ec2 user@
从本地机器和从主节点直接进入从节点。我被要求输入密码,然后输入密码,就可以从本地机器和开发主机访问从属节点

理想情况下,我希望从dev master上的
~/.ssh
目录中删除我的私有
id\u rsa
密钥,并且只在主节点和从节点之间来回使用我的公钥
id\u rsa.pub
ssh
。(这是出于安全考虑,而且应该不会那么困难,对吧?)

因此,我将我的公钥
id\u rsa.pub
添加到从属节点上的
authorized\u keys
。现在,当我尝试从主节点ssh到从节点时,它会要求我输入
id\u rsa.pub
的密码:

ssh -i ~/.ssh/id_rsa.pub ec2-user@<IP>
Enter passphrase for key '~/.ssh/id_rsa.pub'
我不知道当我的公钥被添加为
授权密钥时,它为什么不允许我ssh进入从属节点


或者,如果在主节点和从节点之间有一种更简单的方法来
ssh
,我也愿意这样做。谢谢。

公钥和私钥都是锁钥匙对。您的公钥不是钥匙而是锁。你可以把锁给任何人,但决不能给你的私钥。你的服务器有那个锁。如下面的注释所述,不能用锁打开锁。使用
ssh-i privatekeyip@aws
将起作用。非
ssh-i公钥ip@aws

ssh -i ~/.ssh/id_rsa.pub ec2-user@<IP>

上面的日志表明密钥已被接受,但它不足以授予您访问该服务器的权限。更多信息将显示在服务器日志中。

您是否
chmod 600~/.ssh/authorized_keys
?是的,我按照这个问题做了:谢谢!!伟大的你能支持我的答案吗?那么这就是你问题的正确答案谢谢,请将您的问题移至(删除此处,重新发布)。就在这里。即使在设置了您向我展示的权限之后,我仍然有同样的问题。好的,我明白了,我现在理解您的问题了。您的节点在授权密钥中具有公钥。将公钥视为锁,将私钥视为密钥。只有您应该拥有该私钥,并且不能用锁打开锁。您通过输入
ssh-i id\u rsa.pub尝试了它ip@aws
您必须使用私钥来匹配授权的公钥。由于答案不相关,您可以编辑或删除答案吗?更新答案。按照这种逻辑,我需要在我的开发主机上安装私钥
id\u rsa
,以便
ssh
进入从机。我认为这不起作用,因为如果我允许其他人(同事等)访问我的开发主机进行协作,他/她将拥有我的私人
id\u rsa
密钥。我需要能够在主设备和从设备之间使用ssh,而不使用私钥
id\u rsa
,因为我不想与同事共享。出于某种原因,我在
/etc/ssh
上没有
sshd\u config
文件。而且,我不确定我会如何设置不同的键。但是无论如何,让我在我的问题中发布日志。(顺便说一下,您不需要更改日志级别,您只需执行
ssh-vvv@
)我为客户端日志添加了注释。服务器日志仍将回答缺少的问题。
ssh -i ~/.ssh/id_rsa.pub ec2-user@<IP>
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: SHA1 fp df:e5:5b:18:67:05:8b:4d:06:6c:f9:99:c3:b5:2b:9f:4e:f2:52:8a
debug3: sign_and_send_pubkey
debug1: read PEM private key done: type RSA
debug3: Wrote 640 bytes for a total of 2213
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic