我尝试在AIX和AIX之间设置公钥连接,并且我在AIX和DataPower设备之间设置相同的公钥连接时遇到了问题。
我可以在日志中看到已建立的连接但在使用公共时我无法登录并且每次都希望手动输入密码。
有人可以帮忙吗?
name
答案 0 :(得分:2)
我解决了同样的问题
(当我在系统中签入.ssh/authorized_keys
时:文件名错误)
这样:
cp -p .ssh/authorised_keys .ssh/authorized_keys
答案 1 :(得分:1)
我遇到了同样的问题。我的本地网络上有两台Raspberry Pi,一台已连接,一台未连接(出现“ debug2:我们未发送数据包,禁用方法”错误)
4小时后我发现了问题 习惯了英国拼写时,我创建了“ authorized_users”文件而不是“ authorized_users”文件
Doh !!
答案 2 :(得分:1)
如果您有目标服务器的 sudo 访问权限,请检查 SSH 日志 (/var/log/secure),它可能会给您一些线索。就我而言,这是对主目录的错误权限。
chmod g-w /home/user
chmod 700 /home/user/.ssh
chmod 600 /home/user/.ssh/authorized_keys
参考:https://chemicloud.com/kb/article/ssh-authentication-refused-bad-ownership-or-modes-for-directory/
答案 3 :(得分:0)
请参阅此答案SSH public key won't send to server 在你的日志中
提供RSA公钥:./***_rsa.pub
...
我们没有发送数据包,禁用方法
这意味着客户端没有发送密钥文件。因此,请确保密钥文件存在。
答案 4 :(得分:0)
对我来说,发生的事情是我有2个VM可以从本地计算机访问(2个键id_rsa.pub
和id_rsa2.pub
)。我意识到我的ssh连接默认将id_rsa.pub用于任何ssh user@xx.xx.xx.xx
连接。我通过添加配置文件并指定用于每个主机的身份来解决我的问题,如下所示:
vi ~/.ssh/config
Add both hostnames and their identity file as follows:
Host server1.nixcraft.com
IdentityFile ~/Users/.ssh/id_rsa1
Host server2.nixcraft.com
IdentityFile ~/Users/.ssh/id_rsa2
答案 5 :(得分:0)
这发生在我身上,在将我的头撞在墙上几个小时之后,我意识到公钥文件中有一个错字。而不是以
开头ssh-rsa
开头有一个+
符号:
+ssh-rsa
我知道回想起来很明显,但是仔细检查文件也无济于事。
答案 6 :(得分:0)
检查远程服务器上的ssh配置,以查看远程系统是否接受所传递的密钥类型。
检查文件/etc/ssh/sshd_config
并查找属性PubkeyAcceptedKeyTypes
,以确认它接受所传递的密钥类型。例如,这里的密钥类型似乎是ssh-rsa
,因此应将其添加到PubkeyAcceptedKeyTypes
添加后,重新启动sshd守护程序
答案 7 :(得分:0)
客户端调试(ssh -vvv ...
)显示的原因很多,
debug2: we did not send a packet, disable method
在 Unix和Linux 上SSH public key won't send to server的答案中列出了其中的许多内容,但不幸的是,客户端未给出适用于哪个客户端的任何指示。
当我为此苦苦挣扎时,我的主要问题是让服务器端进行日志记录/调试显示。以下是从Ciro Santilli 冠状病毒审查六四事件法轮功对 ServerFault 的How to check sshd log?答复中得出的以下建议(很有帮助):
使用以下命令在调试模式下的新端口上启动新的SSH服务器实例:
/usr/sbin/sshd -d -p 2222
然后通过以下方式从客户端连接到它:
ssh -p 2222 user@host
答案 8 :(得分:0)
如果在/ etc / ssh / sshd_config中具有以下条目,则会发生这种情况
PubkeyAcceptedKeyTypes=+ssh-dss
相对于
PubkeyAcceptedKeyTypes +ssh-dss #this is the correct entry
更新后,请确保发出
sudo systemctl restart sshd #Ubuntu
答案 9 :(得分:0)
考虑一下selinux,如果已启用,请执行以下操作:
# sudo ausearch -c "sshd" --raw | audit2allow -M my-sshd
# sudo semodule -i my-sshd.pp
答案 10 :(得分:0)
看起来可能有很多原因导致了这个问题。就我而言,我忘记在 ~/.ssh/config 文件中指定 User 名称。显然,这取决于您当前的登录名。
Host dev
HostName 1.2.3.4
IdentityFile ~/.ssh/id_rsa
User John