Eli*_*Eli 3 debian ssh user-management
我刚刚设置了一个新的 Debian 服务器。我禁用了 root SSH 和密码身份验证,因此您必须使用密钥文件。
对于我的主要用户,一切都按预期工作。我使用ssh-keygen -t dsa
并获得了自己的公钥和私钥。将一个放在授权密钥中,将另一个放在本地的 pem 文件中。
我想创建一个可以用来部署东西的用户,所以我做了基本相同的过程。我adduser
编辑它,创建一个.ssh
文件夹,运行ssh-keygen -t dsa
(我也尝试过 RSA),将密钥放在适当的位置。
没运气。我收到一个Permission denied (publickey)
错误。当我使用与有效帐户完全相同的密钥时,同样的错误。当我启用密码认证时,我可以使用密码通过 SSH 登录。
我该如何调试?
编辑
详细的 ssh 输出(deployer.pem 是正确的键):
debug2:密钥:/Users/eli/.ec2/deployer.pem (0x100126830) debug2:密钥:/Users/eli/.ec2/deployer.pem (0x100126b30) debug2:密钥:/Users/eli/.ec2/deployer.pem (0x0) debug1:可以继续的身份验证:publickey debug3:重新开始,传递不同的列表公钥 debug3:首选公钥,键盘交互,密码 debug3:authmethod_lookup 公钥 debug3:剩余首选:键盘交互,密码 debug3:authmethod_is_enabled 公钥 debug1:下一个身份验证方法:publickey debug1:提供公钥:/Users/eli/.ssh/id_rsa 调试 3:send_pubkey_test debug2:我们发送了一个公钥包,等待回复 debug1:可以继续的身份验证:publickey debug1:提供公钥:eli.pem 调试 3:send_pubkey_test debug2:我们发送了一个公钥包,等待回复 debug1:可以继续的身份验证:publickey debug1:提供公钥:/Users/eli/.ec2/deployer.pem 调试 3:send_pubkey_test debug2:我们发送了一个公钥包,等待回复 debug1:可以继续的身份验证:publickey debug1:提供公钥:/Users/eli/.ec2/deployer.pem 调试 3:send_pubkey_test debug2:我们发送了一个公钥包,等待回复 debug1:可以继续的身份验证:publickey debug1:尝试私钥:/Users/eli/.ec2/deployer.pem debug1:读取 PEM 私钥完成:输入 DSA debug3:sign_and_send_pubkey debug2:我们发送了一个公钥包,等待回复 debug1:可以继续的身份验证:publickey debug2:我们没有发送数据包,禁用方法 debug1:没有更多的身份验证方法可以尝试。 权限被拒绝(公钥)。
两部分:首先,在您的 ssh 服务器上打开调试。编辑/etc/ssh/sshd_config
并将 LogLevel 增加到 DEBUG。然后强制您的 ssh 服务器使用killall -HUP <sshd pid>
.
这将导致服务器向您的/var/log/secure
和/或/var/log/auth
日志文件添加更多详细信息。
其次(实际上你不能先尝试这个),增加客户端的调试级别。ssh 进入框
$ ssh -vvv hostname
这将打印出更多有关进程失败位置的信息。
如果您确实在 ssh 服务器上调高了调试级别,请不要忘记在完成后将其调低。
归档时间: |
|
查看次数: |
3992 次 |
最近记录: |