服务器环境
申请3台CentOS服务器,连接服务器
关闭防火墙
// 查看防火墙状态
[root@192.168.100.28 ~]# systemctl status firewalld.service
// 执行停止运行防火墙命令
[root@192.168.100.28 ~]# systemctl stop firewalld.service
// 禁止防火墙自启动
[root@192.168.100.28 ~]# systemctl disable firewalld.service
// 启动防火墙
[root@192.168.100.28 ~]# systemctl start firewalld.service
// 防火墙随系统开启启动
[root@192.168.100.28 ~]# systemctl enable firewalld.service
// vim 找不到命令
[root@192.168.100.28 ~]# yum install -y vim
// ifconfig 找不到命令
[root@192.168.100.28 ~]# yum install -y net-tools
2、必须创建新用户作为开发账号,并设置相关权限(有的软件不能使用root账号,例如Hadoop、HBase)
// 创建用户
[root@192.168.100.28 ~]# useradd -m bxwl
// 查看所有用户
[root@192.168.100.28 ~]# cat /etc/passwd
// 设置密码(这里设置的密码是 zeei,虽然提示至少8位,其实不用管他)
[root@192.168.100.28 ~]# passwd bxwl
更改用户 bxwl 的密码 。
新的 密码:
重新输入新的 密码:
// 视情况设置超级权限用户
[root@192.168.100.28 ~]# vim /etc/sudoers
bxwl ALL....
// 切换到新用户
[root@192.168.100.28 /]# su bxwl
[bxwl@snode030 /]$
3、分别设置主机名,并在 /etc/hosts 中写入三台服务器的 IP 主机名,然后重启
// 查看主机名
[root@192.168.100.28 ~]# hostname
// 修改主机名
[root@192.168.100.28 ~]# hostname snode028
// 查看对应配置文档
[root@192.168.100.28 ~]# cat /etc/hostname
// 在 `/etc/hosts` 中写入三台服务器的 `IP 主机名`
[root@192.168.100.28 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.28 snode028
192.168.100.29 snode029
192.168.100.30 snode030
// 重启服务器,重启完需要重新链接
4、修改ssh配置文件 /etc/ssh/sshd_config
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥授权文件路径
必须切换到开发账号
[root@snode028 ~]# su bxwl
[bxwl@snode028 root]$
5、分别创建秘钥、公钥,此时 ~/ 根目录下会生成一个 .ssh 文件夹(开始时没有,如果有可能是其他ssh自动生成的),该文件夹内有2个文件id_rsa、id_rsa.pub,其中 id_rsa.pub 里边放着本机的公钥。
[bxwl@snode028 ~]# ssh-keygen -t rsa
创建公钥授权文件authorized_keys,并写入三台服务器的公钥(三台服务器都需要同时添加 id_rsa.pub查看公钥)
[bxwl@snode028 ~]# cd .ssh
[bxwl@snode028 .ssh]# vim authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDD7FT/OWf... bxwl@snode028
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzD1rWo+w... bxwl@snode029
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbM0M4WCn... bxwl@snode030
设置授权文件的访问权限
[bxwl@snode028 ~]# chmod 600 authorized_keys
6、互相连接一下 ssh 主机名,每台都需要链接一下另外两台;第一次需要密码,之后就不需要了。
[bxwl@snode028 ~]# ssh snode029
注:如果sshd_config 文件修改后,ssh报ssh_exchange_identification: read: Connection reset by peer 或 重启sshd报错,systemctl status sshd.service 查看状态,看报错日志;提示key不存在,首先查看这个文件是否存在,如果存在,用chmod 600 授权
服务重启成功,但是ssh 提示 known_hosts 报错,提示密钥对不上,清空这个文件即可,再重新链接ssh