如何设置 ssh 来使用密钥而不是用户名/密码来验证用户?
答案1
对于每个用户:他们应该使用ssh-keygen -t rsa
(也可以用或rsa
代替,但不建议使用这些选项)生成(在本地机器上)密钥对。然后,他们需要将公钥()的内容放入登录的服务器上。dsa
rsa1
id_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