【Linux】SSH免密登录

什么是免密码登录呢?

看一下原理。

我们有AB两台机器。A想免密码登录B。那么我们在A上生成一对公钥和私钥。然后A会将一段文本和公钥发送到B上。B用文本对公钥加密,再发回给A,A如果用私钥对文本解密后发给B如果和B最早收到的数据一样说明公钥私钥是一对,说明可以登录。因为只有一对才能解密成功。所以就是想免密登录谁就把公钥给谁。

1 输入命令生成密钥:ssh-keygen -t rsa -P ''

2 进入 .ssh 目录(是家目录下的隐藏文件),.ssh目录权限必须是700

3 把公钥(id_rsa.pub)发给目标机器,使用scp命令:scp id_rsa.pub 用户名@IP地址:目标位置

scp id_rsa.pub [email protected]:~/

4 把接受到的公钥追加到authorized_keys 中,同时把authorized_keys的权限调整到600

cat id_rsa >> ~/.ssh/authorized_keys
chmod 600 authorized_keys

其实核心就是把公钥放到谁那里就能登录哪里,需要注意的是不同的用户是有区别的的。也就是说,要想登录root 需要将公钥放到root的家目录。要想登录groot需要将公钥放到groot的家目录下。

直接使用root用户配置比较好,这样不存在什么权限问题

5 如果输入ssh IP地址提示需要输入密码,就重启虚拟机试试。

 

你可能感兴趣的:(SSH免密,hadoop,Linux)