Linux系统(Ubuntu16.04)ssh配置无密码登录
一、软件安装
(1)首先更新源(要确定系统可以联网,可以先打开浏览器访问以下百度主页,如果没连上网,可以试试到Win7系统上 “右键计算机 -> 管理 -> 服务和应用程序 -> 服务 -> 找到VMware相关的所有服务 -> 右键 -> 启动”)
sudo apt-get update
(2)安装 openssh
服务端安装
sudo apt-get install openssh-server
客户端安装
sudo apt-get install openssh-client
ps:如何区分该装服务端还是客户端?
如果 slave1 系统想要登录 slave2 系统,那么 slave1 装客户端, slave2 装服务端,如果想要互相都能登录,就服务端和客户端都装
(3)测试是否可以登录
ssh -l hadoop 192.168.195.133 (hadoop是用户名)
二、配置免密码登录
原理是验证公钥而不验证密码
1、配置本机无密码登录
(1)进入到宿主目录下,生成本机秘钥同时设置免密登录,注意,这里不能使用 root 用户生成秘钥,而是要使用你想要设置的用户
cd /home/hadoop/
ssh-keygen -t rsa -P “”
(2)将公钥追加到 authorized_keys 文件中
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
赋予 authorized_keys 文件权限
chmod 600 .ssh/authorized_keys
注意:设置文件和目录权限:
设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限
$ chmod 700 -R .ssh
要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。
(3)验证是否成功
ssh localhost
2、配置 slave1 无密码登录 slave2 服务器
以下操作均在 slave2 服务器上操作
(1)复制 slave1 的公钥到 slave2 上
scp hadoop@192.168.195.133:/home/hadoop/.ssh/id_rsa.pub /home/hadoop
(2)将 slave1 公钥追加到 slave2 的 authorized_keys 文件中,删除 slave1 公钥文件
cat /home/hadoop/id_rsa.pub >> .ssh/authorized_keys
rm /home/hadoop/id_rsa.pub
(3)验证是否成功(在 slave1 服务器上操作)
ssh 192.168.195.134