我正在尝试将 SSH 主机密钥从基于 Mac OS X 10.5 Leopard Server 的中央备份服务器设置到运行 Fedora 10 和 CentOS 5.2 的两台 Linux 服务器。我们通常采取的过程是有效的,并将密钥放在 ~/.ssh/authorized_keys 中,但它仍然提示输入密码。
我不是这些盒子的常规管理员,我知道默认设置可能是禁用 SSH 主机密钥。如何启用 SSH 主机密钥?
更新:我已经在 /etc/ssh/ssd_config 中取消注释 'PubkeyAuthentication yes' 并运行service restart 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, addr=192.168.1.149, 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=?, addr=192.168.1.149, terminal=sshd res=failed)'
建议?