linux ssh登录设置

linux ssh登录设置

2019/10/3

环境说明

  • 有一台ubuntu虚拟机(Windows 10自带的ubuntu)作为client;
  • 同时有三台独立的server, node1, node2, node3;
  • 分别设置client到三台服务器的无需手动输入密码登录。

步骤

  1. 在client:
cd .ssh
ssh-keygen -t rsa  #在client本地生成秘钥和公钥

可检查,在当前文件夹下生成了两个文件:id_rsaid_rsa.pub, 分别为秘钥和公钥。
可以看到公钥的内容:cat id_rsa.pub

  1. 将本地生成的公钥分别传送到三台server
  • node1
ssh-copy-id -i id_rsa.pub -p 22 username@node1
#此处需要输入username@node1的登录密码

测试: ssh username@node1
若可以成功登录到node1,说明配置成功。

  • node2
ssh-copy-id -i id_rsa.pub -p 22 username@node2
#此处需要输入username@node2的登录密码

测试: ssh username@node2
若可以成功登录到node2,说明配置成功。

  • node3
ssh-copy-id -i id_rsa.pub -p 22 username@node3
#此处需要输入username@node3的登录密码

测试: ssh username@node3
若可以成功登录到node3,说明配置成功。

进一步说明

(2020/1/14更新)

以上的ssh-copy-id 命令封装了将公钥中内容追加到服务器.ssh/authorized_keys文件的部分。
对于没有ssh-copy-id命令的主机可以通过手动复制的方式来实现。如下所示。

  • 假设已在主机生成公钥id_rsa.pub

  • 利用scp命令将id_rsa.pub复制到服务器上

  • 在服务器上进行操作:

    • 在/home下,进入.ssh文件夹 :cd .ssh
    • 复制刚上传的id_rsa.pub内容到.ssh/authorized_keys
    • 保存
  • 正常情况下,可以在client上通过ssh免密登录到服务器。

你可能感兴趣的:(linux)