dbr*_*dbr 101

如果你安装了SSH,你应该能够运行..

ssh-keygen
Run Code Online (Sandbox Code Playgroud)

然后经过的步骤,你将有两个文件,id_rsaid_rsa.pub(第一个是你的私钥,第二个是你的公钥-你复制到远程机器上的一个)

然后,连接到要登录的远程计算机,向该文件~/.ssh/authorized_keys添加该文件的内容id_rsa.pub.

哦,以及chmod 600所有id_rsa*文件(本地和远程),所以没有其他用户可以读取它们:

chmod 600 ~/.ssh/id_rsa*
Run Code Online (Sandbox Code Playgroud)

同样,确保远程~/.ssh/authorized_keys文件chmod 600也是:

chmod 600 ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)

然后,当你这样做时ssh remote.machine,它应该询问你密钥的密码,而不是远程机器.


为了使其更好用,您可以使用ssh-agent将解密密钥保存在内存中 - 这意味着您不必每次都键入密钥对的密码.要启动代理程序,请运行(包括后退标记引号,它会对ssh-agent命令的输出进行评估)

`ssh-agent`
Run Code Online (Sandbox Code Playgroud)

在某些发行版上,ssh-agent会自动启动.如果你运行echo $SSH_AUTH_SOCK它并显示一个路径(可能在/ tmp /中)它已经设置好了,所以你可以跳过上一个命令.

然后添加你的密钥,你做

ssh-add ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

并输入您的密码.它被存储,直到你删除它(使用ssh-add -D命令,从代理中删除所有键)

  • 如果您必须创建.ssh文件夹,请不要像我一样将其设置为600,否则您将度过糟糕的时光.而是将其设置为700. :-) (4认同)
  • @ user01是的,您可以将私钥复制到多个系统并访问具有相应公钥的另一台服务器. (2认同)
  • 将公钥上传到远程机器也可以通过在本地机器上执行的`ssh-copy-id [-i identity] [user @] host`来处理. (2认同)

roo*_*roo 5

对于Windows,是一个很好的介绍和指南

以下是除linux之外的系统的一些好的ssh代理.