以上scp进行拷贝的时候,每次都需要输入密码,非常的烦恼,是否可以做免密登录。
Node01上,我想免密登录Node02,怎么做?
在Node01上的任意一个路径执行该命令:
[root@Node01 ~]# ssh-keygen -t rsa
作用是生成一个公钥和私钥,直接敲击三次回车即可生成。
生成的位置在:/root/.ssh
在Node01中,拷贝公钥给Node02
[root@Node01 ~]# ssh-copy-id Node02
需要输入Node02的密码,将公钥拷贝到了Node02中的 /root/.ssh/authorized_keys 文件中
免密测试:
[root@Node01 ~]# ssh Node02
Last login: Wed Apr 6 13:48:02 2022 from 192.168.10.1
[root@Node02 ~]# hostname
Node02
[root@Node02 ~]# exit
登出
Connection to node02 closed.
[root@Node01 ~]#
配置成功会在如下目录生成如下文件:
[root@Node01 ~]# cd .ssh/
[root@Node01 .ssh]# ll
总用量 16
-rw-------. 1 root root 786 4月 6 11:48 authorized_keys
-rw-------. 1 root root 1679 4月 6 10:12 id_rsa
-rw-r--r--. 1 root root 393 4月 6 10:12 id_rsa.pub
-rw-r--r--. 1 root root 366 4月 6 10:08 known_hosts
免密是单向的,如果需要在Node02中免密访问Node01,重复上面的操作即可。
同时也可以传输给自己,在进行有些操作时也不需要输入密码。