如何在Linux上允许SSH主机密钥(Fedora 10和CentOS 5.2)

前端之家收集整理的这篇文章主要介绍了如何在Linux上允许SSH主机密钥(Fedora 10和CentOS 5.2)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将基于Mac OS X 10.5 Leopard Server的中央备份服务器的SSH主机密钥设置为运行Fedora 10和CentOS 5.2的两台 Linux服务器.我们通常采用的过程可以工作并将密钥放在〜/ .ssh / authorized_keys中,但它仍会提示输入密码.

我不是这些盒子的常规管理员,我知道默认可能是禁用了SSH主机密钥.如何启用SSH主机密钥?

更新:我已经在/ etc / ssh / ssd_config中取消注释’PubkeyAuthentication yes’并运行服务重启sshd,但这不起作用.取消注释所有三行(‘RSAAuthentication’,’PubkeyAuthentication’和’AuthorizedKeysFile’),更正〜/ .ssh的权限并再次尝试.仍然没有爱.

当我运行ssh -v user @ host时,在提示输入密码之前和之后的GSS错误之后我会得到以下信息:

debug1: Next authentication method: publickey
debug1: Trying private key: /Users/shortname/.ssh/identity
debug1: Trying private key: /Users/shortname/.ssh/id_rsa
debug1: Trying private key: /Users/shortname/.ssh/id_dsa
debug1: Next authentication method: password

更多建议?

另一个更新:〜/和〜/ .ssh /的权限是700.

我一直在运行以创建主机密钥的命令如下:

cat /blah/ssh_keys_for_shortname/id_dsa.pub | ssh -l shortname -o stricthostkeychecking=no -i /blah/ssh_keys_for_shortname/id_dsa host.domain.tld 'cat - >> ~/.ssh/authorized_keys'

当我尝试连接时,我使用:

ssh --verbose -l shortname -o stricthostkeychecking=no -i /blah/ssh_keys_for_shortname/id_dsa host.domain.tld

所以,显然我们正在使用DSA密钥.我已经尝试重命名〜/ .ssh / authorized_keys2,但这没有帮助.

我喜欢将密钥存储在默认位置而不是/ blah / ssh_keys_for_shortname /,但它不受我的控制.

当我观察/var/log/audit/audit.log并尝试连接时,我得到以下内容

type=CRED_DISP msg=audit(1249426114.642:128): user pid=10589 uid=0 auid=501 ses=14 msg='op=PAM:setcred acct="shortname" exe="/usr/sbin/sshd" (hostname=host.domain.tld,addr=192.168.1.149,terminal=ssh res=success)'
type=USER_END msg=audit(1249426114.647:129): user pid=10589 uid=0 auid=501 ses=14 msg='op=PAM:session_close acct="shortname" exe="/usr/sbin/sshd" (hostname=host.domain.tld,terminal=ssh res=success)'
type=USER_LOGIN msg=audit(1249426129.524:130): user pid=10633 uid=0 auid=4294967295 ses=4294967295 msg='acct="shortname": exe="/usr/sbin/sshd" (hostname=?,terminal=sshd res=Failed)'

建议?

解决方法

看起来你有正确的基础知识.

我看到失败的最常见原因是远程authorized_keys文件及其上面的目录的权限.在允许基于密钥的身份验证之前,sshd会执行权限检查;如果不喜欢结果,则不允许进行身份验证.我通常将〜/ .ssh设置为0700,将〜/ .ssh / authorized_keys设置为0600.我相信实际的$HOME也不能有组或世界写,尽管读数很好.

如果仍然无法修复它,下一步是在服务器端进行一些调试:

server$/usr/sbin/sshd -d -p 2222

然后从客户端连接到“debug”服务器:

client$ssh -v user@host  -p 2222

您将在服务器上获得有关stderr的大量调试信息.我还没有遇到一个我无法从那里追踪的身份验证问题.

原文链接:https://www.f2er.com/linux/397431.html

猜你在找的Linux相关文章