如何设置ssh信任关系

  ssh信任关系,是指一台服务器上的一个用户信任客户端的一个用户,允许这个用户不输入密码登录,另一个说法叫做public_key_auth。实际上就是证书信任。

  首先,需要为被信任的用户创建一个证书。运行下面的命令:

  ssh-keygen -t rsa

  将会在~/.ssh目录下生成两个文件,id_rsa和id_rsa.pub,分别是私钥和公钥。注意id_rsa文件的权限必须是600。

  然后,到服务器用户的~/.ssh目录下,创建一个文件authorized_keys(如果已经有了,直接编辑),把id_rsa.pub里的内容(只有一行文本)加到文件里面保存。

  好了,这样在客户端运行 ssh username@remotehost就可以不输入密码直接登录了。

  设置了信任关系以后,可以在shell脚本中下载远程文件或在服务器上执行命令,不需要输入密码:

  ssh username@remotehost << EOF
  remote command...
  EOF

  sftp username@remotehost << EOF
  get remotefile
  EOF