加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 03:02:56 所属栏目:Linux 来源:网络整理
导读:我正在尝试将基于Mac OS X 10.5 Leopard Server的中央备份服务器的SSH主机密钥设置为运行Fedora 10和CentOS 5.2的两台 Linux服务器.我们通常采用的过程可以工作并将密钥放在?/ .ssh / authorized_keys中,但它仍会提示输入密码. 我不是这些盒子的常规管理员,
我正在尝试将基于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的大量调试信息.我还没有遇到一个我无法从那里追踪的身份验证问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读