我一直试图通过SSH设置Git,并遵循了我所见过的指南。 我使用ssh-keygen创build密钥集,login到远程主机并使用cat id_rsa.pub >> .ssh/authorized_keys将公钥添加到cat id_rsa.pub >> .ssh/authorized_keys 。 当我尝试login时,仍会提示input用户(git用户)密码。
我还发现了一个教程,展示了如何使用putty的keygen工具,并遵循这个工具。 再一次,没有。 我find的任何教程的变化似乎在远程主机上得到sshd允许我使用生成的密钥login。
有没有办法手动控制这个? 我暂时停留在红帽企业Linux 4上。
如果您有权访问SSHdconfiguration,则可以检查PubkeyAuthentication是否设置为yes以允许公钥authentication。 如果PubkeyAuthentication设置为no ,则不能使用公钥login,服务器将提示您input密码。
确保权限是正确的:
$ chown <user> -R ~<user>/.ssh $ chmod 700 ~<user>/.ssh $ chmod 600 ~<user>/.ssh/authorized_keys
检查authorized_keys文件的权限 – 640应该是正确的。 SSH可以(正确)对这些文件和.ssh目录上的perms进行挑剔,最坏的情况应该是755。
你在sshd_config检查了这个设置吗?
PubkeyAuthentication yes
同时检查.ssh和私钥.ssh的权限需要为700,密钥为600。
检查/etc/ssh/sshd_config AuthorizedKeysFile 。 也许它是指定一个替代的位置。 服务器的auth.log告诉你authentication失败的原因。 需要root权限。