linux ssh互信配置

首先给大家推荐一下我老师大神的人工智能教学网站。教学不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵黄段子!点这里可以跳转到网站

环境

node1:192.168.3.20
node2:192.168.3.21

用到的命令
  • ssh-keygen:创建公钥和密钥,会生成id_rsa和id_rsa.pub两个文件
  • ssh-copy-id:把本地的公钥复制到远程主机的authorized_keys文件(不会覆盖文件,是追加到文件末尾),并且会设置远程主机用户目录的.ssh和.ssh/authorized_keys权限
    权限为:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

下面开始

1.在两台机器上生成各自的key文件

 [root@192.168.3.20]#ssh-keygen -t rsa       #下面一直按回车就好
 

[root@192.168.3.21]

#ssh-keygen -t rsa

  • 1
  • 2

2.用ssh-copy-id 把公钥复制到远程主机上,命令也要

[root@192.168.3.20]#ssh-copy-id -i  .ssh/id_rsa.pub root@192.168.3.21

[root@192.168.3.21]

#ssh-copy-id -i .ssh/id_rsa.pub root@192.168.3.20

  • 1
  • 2

注:如果不是默认的端口,可以这样写
ssh-copy-id -i ~/.ssh/id_rsa.pub “-p 2022 root@192.168.3.21”

现在就可以直接登录了

[root@192.168.3.20]

#ssh root@192.168.3.21,试试吧

说明:

  • 上面是以root用户配置互信,如果想要其它用户,可以切到相应的用户下执行命令即可
  • 如果单纯的只需要单向信任,在一台机器上执行命令就可以了,比如说node1连接node2,不用密码的话,在node1上执行命令就可以了
  • 3.也可以把ip地址和主机名对应关系加到 /etc/hosts里 这样直接ssh 主机名就可以了(eg:192.168.3.21 node2 加到hosts里就可以了

点这里可以跳转到人工智能网站

发表评论