如何设置 ssh 来使用密钥而不是用户名/密码进行身份验证?

如何设置 ssh 来使用密钥而不是用户名/密码进行身份验证?

如何设置 ssh 来使用密钥而不是用户名/密码来验证用户?

答案1

对于每个用户:他们应该使用ssh-keygen -t rsa(也可以用或rsa代替,但不建议使用这些选项)生成(在本地机器上)密钥对。然后,他们需要将公钥()的内容放入登录的服务器上。dsarsa1id_rsa.pub~/.ssh/authorized_keys

答案2

我其实更喜欢ssh-复制-id,默认情况下在 *nix 上发现的脚本(可以放在Mac OS X(也很容易)它会自动帮你完成这个任务。从手册页中:

ssh-copy-id 是一个使用 ssh 登录远程机器的脚本(大概使用登录密码,因此应该启用密码验证,除非你巧妙地使用了多重身份)

它还会更改远程用户的主目录、~/.ssh 和 ~/.ssh/authorized_keys 的权限以删除组可写性(如果远程 sshd 在其配置中设置了 StrictModes,则会阻止您登录)。

如果给出了 -i 选项,则使用身份文件(默认为 ~/.ssh/identity.pub),不管您的 ssh-agent 中是否有任何密钥。

答案3

嗯,不明白。只需创建一个密钥即可开始。:)如何 另外,你可以禁止通过密码登录。例如在 /etc/ssh/sshd_config 中:

PasswordAuthentication no

答案4

对于 Windows 用户设置 Putty

相关内容