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

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

概述我正在尝试将基于Mac OS X 10.5 Leopard Server的中央备份服务器的SSH主机密钥设置为运行Fedora 10和CentOS 5.2的两台 Linux服务器.我们通常采用的过程可以工作并将密钥放在〜/ .ssh / authorized_keys中,但它仍会提示输入密码. 我不是这些盒子的常规管理员,我知道默认可能是禁用了SSH主机密钥.如何启用SSH主机密钥? 更新:我已经 我正在尝试将基于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: publickeydeBUG1: Trying private key: /Users/shortname/.ssh/IDentitydeBUG1: Trying private key: /Users/shortname/.ssh/ID_rsadeBUG1: Trying private key: /Users/shortname/.ssh/ID_dsadeBUG1: 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的大量调试信息.我还没有遇到一个我无法从那里追踪的身份验证问题.

总结

以上是内存溢出为你收集整理的如何在Linux上允许SSH主机密钥(Fedora 10和CentOS 5.2)全部内容,希望文章能够帮你解决如何在Linux上允许SSH主机密钥(Fedora 10和CentOS 5.2)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1037212.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存