当我发出ssh -v hostname
时,它告诉我成功。但是在发布ssh -v user@hostname
时权限被拒绝(publickey)。它们之间的区别是什么?我尝试通过某种方式解决这个问题,但效果不佳。如:
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
Restorecon ~/.ssh/authorized_keys
我猜问题是关于上下文的,因为在issuing ssh -v hostname
之后,调试信息告诉我无法获得有效的上下文。并发出ssh[user@]hostname
它授权id_rsa,id_ecdsa和id_ed25519并滑动id_dsa(可能是配置设置)。
答案 0 :(得分:0)
如果未指定user
,则会在.ssh配置中搜索给定主机的默认配置,如果没有,则使用与源计算机上相同的用户名。
要获取更多信息,请添加.ssh / config的复制和粘贴以及两个ssh命令的输出。
答案 1 :(得分:-1)
使用ssh user@hostname
时,您会尝试以user
上的hostname
身份登录。登录失败是因为您需要在此用户的主页中创建authorized_keys
文件,就像您在未给出user
时使用的默认用户所做的那样。显然,密码验证被禁用,否则ssh
会要求它。