linux下设置ssh免密码登陆的配置步骤分享

时间:2021-05-24

我有两台笔记本电脑上分别装有两个centos的虚拟机,一个IP为172.16.1.10(slave),一个IP为172.16.1.9(master)。

在slave上用root用户 vi /etc/hosts ,在里面增加 172.16.1.9 master。

1 在slave上执行:

复制代码代码如下:
ssh-keygen -t rsa或者ssh-keygen -t rsa -P ''

-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
它在~目录下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。


2 在slave上执行scp远程拷贝命令:

复制代码代码如下:
scp ~/.ssh/id_rsa.pub <a href="mailto:hadoop@master:~/id_rsa.pub">hadoop@master:~/id_rsa.pub</a>
由于此时还没有设置免密码登陆,所以此时远程拷贝需要输入密码。

(scp 命令格式如下:

复制代码代码如下:
scp local_file <a href="mailto:remote_username@remote_ip:remote_file">remote_username@remote_ip:remote_file</a>)

3 在master上执行:

复制代码代码如下:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
将公钥追加到授权KEY里面。

4执行下面的命令

复制代码代码如下:
chmod 600 ~/.ssh/authorized_keys
authorized_keys的权限要是600。

此时 slave机就可以 ssh master 了。
小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)

想让A,B机无密码互登录,那B机以上面同样的方式配置即可。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章