SSH免密登陆
1、执行命令sudo apt-get install openssh-server
安装软件包
报错 更新安装包重新安装
安装ssh时出现软件包 openssh-server 还没有可供安装的候选者错误
错误如下:
sudo apt-get install opensshserver正在读取软件包列表...
完成正在分析软件包的依赖关系树正在读取状态信息...
完成现在没有可用的软件包 openssh-server,
但是他被其他的软件包引用了这可能意味着这个缺失的软件包可能已被废弃,或者只能在其他发布源中找到
E:软件包 openssh-server 还没有可供安装的候选者
解决方案:
是我们的apt-get没有更新,操作命令如下:
sudo apt-get update
sudo apt-get install openssh-server
最后我们用命令ps -e|grep ssh
查看open-server安装成功没有
也可以用ssh localhost 命令来检测下是否可以连接
ps -e|grep ssh
解决方法:
我们用一个命令来看下,如果只有agent,说明没有安装openssh-server
开始用命令来安装openssh-serve
sudo apt-get install openssh-server
关闭防火墙
重新更新
安装完成之后查看是否存在ssh进程
配置ssh免密登陆
再次执行ssh localhost免密登陆cat ./id
Master、slave1和slave2执行一样的ssh操作
分别查看他们的查看安装结果
在hosts添加文件配置信息 vi /etc/hosts
在master节点配置ssh免密,分发到slave两个节点上
master上免密登陆slave1
Slave1上免密登陆master
Master免密登陆Slave2
Slave2免密登陆master
Slave1免密登陆slave2
Slave1和slave2互相免密
补充:如何区分该装服务端还是客户端
如果 slave1 系统想要登录 slave2 系统,那么 slave1 装客户端, slave2 装服务端,如果想要互相都能登录,就服务端和客户端都装
ssh -l hadoop 192.168.56.101
(ssh -l [用户名] [远程ip])
( ip 可以用 ifconfig 命令查看)
将公钥追加到 authorized_keys 文件中
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
赋予 authorized_keys 文件权限
chmod 600 .ssh/authorized_keys
验证
配置 slave1 无密码登录 slave2 服务器
以下操作均在 slave2 服务器上操作
1.复制 slave1 的公钥到 slave2 上
scp [email protected]:/home/hadoop/.ssh/id_rsa.pub /home/hadoop
命令格式:(scp master_userName@master_ip:master_file slave1 _folder)
sudo加权
完成设置
将 slave1 公钥追加到 slave2 的 authorized_keys 文件中,删除 slave1 公钥文件
cat /home/hadoop/id_rsa.pub >> .ssh/authorized_keys
rm /home/hadoop/id_rsa.pub
sudo解决权限问题