一、SSH
(1)SSH
SSH是一种安全的网络传输协议,其主要目标是在不安全的网络中提供安全的加密通信服务。
SSH最广泛的应用之一就是提供计算机之间的安全登录服务,允许用户通过不安全的网络安全地访问远程服务器。SSH协议通过加密技术来确保数据在传输过程中的机密性,同时它还提供了数据完整性和身份验证机制。
(2)OpenSSH
OpenSSH是SSH协议的一个广泛应用的实现版本。它是一个自由软件项目,其源代码完全公开并可以免费使用、修改和分发。OpenSSH支持多种身份验证方法,包括基于密码的认证和基于公钥的认证。
二、SSH服务
(1)安装
#安装
yum install –y openssh
(2)启动,开机自启
#启动、设置开机自启
systemctl start sshd
systemctl enable sshd
(3)防火墙放行
#防火墙放行SSH服务
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload
三、配置Linux集群(SSH无秘钥登录)
(1)环境
本例为3个Linux节点:
(2)具体操作
①安装openssh
yum install -y openssh
②启动并开机自启
systemctl start sshd #启动
systemctl enable sshd #开机自启
systemctl status sshd #ssh状态
③防火墙放行
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload
④节点1生成秘钥文件,再将其公钥信息加入到授权文件中
ssh-keygen #回车
cd ~/.ssh #进入用户主目录的.ssh目录
cat id_rsa.pub > authorized_keys #将公钥加入到授权文件中
⑤节点2、3依次将其公钥信息依次加入到节点1的同一个授权文件中
#节点2下运行
ssh-keygen
cd ~/.ssh
ssh-copy-id hadoop@节点1的ip地址
#节点3下运行
ssh-keygen
cd ~/.ssh
ssh-copy-id hadoop@节点1的ip地址
由于操作相同,下面只演示一次
在节点1中查看是否成功
⑥将节点1的公共授权文件依次下发给2、3,并强制覆盖
scp -f ~/.ssh/authorized_keys hadoop@节点2的ip地址:~/.ssh/authorized_keys
scp -f ~/.ssh/authorized_keys hadoop@节点3的ip地址:~/.ssh/authorized_keys
⑦在所有节点依次更改授权文件权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
⑧测试
在所有节点执行远程登录命令进行测试,看是否免密登录
ssh hadoop@ip地址
注意事项:
①在配置Linux集群时,确保Linux操作系统已经安装openssh以及防火墙是否放行22号端口。
②scp -f ~/.ssh/authorized_keys hadoop@节点3的ip地址:~/.ssh/authorized_keys这条指令下发给其他节点的文件,应该确认,有时文件名并不为authorized_keys,比如我的就是known_hosts,与前者不同。