日期:2014-05-16  浏览次数:20526 次

linux机器间建立信任关系
有a和b两台机器,现要将a机器的user1用户添加到b机器的user2用户信任列表里,使a机器的user1用户可以直接ssh到b机器的user2用户
    步骤:
    1,进入a机器/home/user1/.ssh目录,如果没有,执行mkdir -p /home/user1/.ssh,检查该目录下是否有一个id_rsa.pub文件,如果没有,执行ssh-keygen -t rsa 命令,该目录下会生成该文件.复制该文件的内容;
    2,进入b机器/home/user2/.ssh目录,如果没有就创建,在该目录下 执行 vi authorized_keys ,在最后一行将步骤1复制的内容粘贴到这里,然后保存退出;
    3,vi b机器的/etc/hosts.allow,加一行:sshd:[这里为a机器的ip,如果为双路,记得加两个ip]
    然后在a机器的user1目录下执行: ssh user2@b,成功连接到b机器。
-------------------------------------------------------------


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