client:
westos_client.westos.com
172.25.254.10
server:
westos_node1.westos.com
172.25.254.20
ifconfig##查看 ip 地址
nm-connection-editor ##设定 ip 地址
hostnamectl set-hostname ##设定主机名称
二.Openssh 服务的基本信息
Openssh
# 1.作用: #
在企业中的运维工作,不是 1v1 的运维
运维工程师基本都是 1vN
在运维工程师对服务器进行管理时
需要通过网络登陆远程主机
需要通过网络在远程主机中开启 shell 来进程操作
远程主机必须提供这样的开启 shell 的方式
以上的需求由 openssh 服务来提供
远程主机中安装了 openssh 并开启了这个程序
那么我们就可以通过网络来连接这台主机了
# 2.软件包名称 #
openssh-server
# 3.服务名称#
sshd
# 4.客户端 #sshssh 172.25.254.20 -l root # 172.25.254.20 远程主机 ip# -l login 登陆# root 远程主机的超级用户[root@westos_client ~]# ssh 172.25.254.20 -l root
The authenticity of host '172.25.254.20 (172.25.254.20)' can't be established.
ECDSA key fingerprint is SHA256:+5Ikt8ZExrRdLzOg19xsL5PhAYPt8GB7umvLcSF/dlM.
Are you sure you want to continue connecting (yes/no)? yes #建立关系
Warning: Permanently added '172.25.254.20' (ECDSA) to the list of known hosts.
root@172.25.254.20's password: ##输入远程主机密码
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Sat Apr 25 09:02:58 2020
[root@westos_node1 ~]# ##登陆成功# 5.sshd 服务端口 #
22/tcp
# 6.配置文件 #
/etc/ssh/sshd_config
三.Openssh 服务的 key 认证
# 1.用户密码认证 (对称加密)#
* 密码容易泄漏
* 容易忘记
# 2.密钥认证 (非对称加密)#
* 安全
* 不会忘记密码
# 3.建立 key 认证的方式 #
* 建立 key 文件
172.25.254.10 主机
[root@westos_client ~]# ssh-keygen ##建立认证 key 文件
Generating public/private rsa key pair.
Enter fileinwhich to save the key (/root/.ssh/id_rsa): ##加密字符保存位置
Enter passphrase (empty for no passphrase): ##key 认证密码,通常设定为空
Enter same passphrase again: ##重复 key 认证密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
* 上传公钥 (加密远程主机)[root@westos_client ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.20#ssh-copy-id 上传密钥命令#-i 指定公钥#/root/.ssh/id_rsa.pub 公钥名称#root 远程主机被加密用户#@ 分割符#172.25.254.20 远程主机地址
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that arealready installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.25.254.20's password: ##远程主机密码
Number of key(s) added: 1
Now try logging into the machine, with:
"ssh 'root@172.25.254.20'"
and check to make sure that only the key(s) you wanted were added.
* 测试
172.25.254.10 主机中
1.ssh root@172.25.254.20 ##免密连接
2.mv /root/.ssh/id_rsa* /mnt
3.reboot
4.ssh root@172.25.254.20 ##因为密钥被移除所以不能免密
5.mv /mnt/id_rsa /root/.ssh ##重新恢复密钥
6.ssh root@172.25.254.20 ##免密连接
四.Openssh 服务的安全配置
# 1.端口修改 #
vim /etc/ssh/sshd_config
17 port 22 -----> port 1111
测试:
[root@westos_client ~]# ssh 172.25.254.20 -l root
ssh: connect to host 172.25.254.20 port 22: Connection refused #默认连接被拒绝[root@westos_client ~]# ssh 172.25.254.20 -l root -p 1111 #指定的的端口连接
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Sat Apr 25 11:05:31 2020 from 172.25.254.10
[root@westos_node1 ~]##2. 端口绑定 #
vim /etc/ssh/sshd_config
19 #ListenAddress 0.0.0.0 ----> ListenAddress 172.25.254.20
测试:
在 172.25.254.20 主机中
参数未发生变化:
ssh 172.25.254.20 -l root #可以ssh 127.0.0.1 -l root #可以
参数发生变化
ssh 172.25.254.20 -l root #可以ssh 127.0.0.1 -l root #拒绝#3.密码认证的关闭#
vim /etc/ssh/sshd_config
73 PasswordAuthentication no ##禁用密码认证
测试:
172.25.254.10 有密钥
172.25.254.20 无密钥
172.25.254.10 ----->ssh root@172.25.254.20 ##可以登陆
172.25.254.20 ----->ssh root@172.25.254.20 ##可以输入密码
参数根改并重启服务后
172.25.254.10 ----->ssh root@172.25.254.20 ##可以登陆
172.25.254.20 ----->ssh root@172.25.254.20 ##不可输入密码直接被拒绝#4. sshd 服务的用户控制#
建立实验素材
在服务器中:
172.25.254.20
useradd westos
useradd lee
echo lee|passwd --stdin westos
echo lee|passwd --stdin lee
操作完成系统中存在至少 3 个用户
用户 密码
root lee
westos lee
lee lee
#root 用户的访问控制
vim /etc/ssh/sshd_config
46 PermitRootLogin yes --->PermitRootLogin no #禁止 root 用户使用 ssh 进行认证
实验:
172.25.254.20:
ssh 172.25.254.20 -l root ##默认输入正确秘密可以完成认证
修改参数后
ssh 172.25.254.20 -l root ##输入正确密码仍然不能登陆#用户黑名单 (默认可以登陆,名单中的用户被禁止)
vim /etc/ssh/sshd_config
DenyUser lee ##lee 用户不能使用 sshd 服务
实验:
172.25.254.20:
ssh 172.25.254.20 -l lee ##默认可以登陆ssh 172.25.254.20 -l westos ##可以登陆
修改参数后
ssh 172.25.254.20 -l westos ##可以登陆ssh 172.25.254.20 -l lee ##不可以登陆#用户白名单 (默认不可以登陆,名单中的用户被允许)
vim /etc/ssh/sshd_config
AllowUsers westos ##westos 用户可以使用 sshd 服务,默认用户被禁止
实验:
172.25.254.20:
ssh 172.25.254.20 -l lee ##默认可以登陆ssh 172.25.254.20 -l westos ##可以登陆ssh 172.25.254.20 -l root ##可以登陆
修改参数后
ssh 172.25.254.20 -l westos ##可以登陆ssh 172.25.254.20 -l lee ##不可以登陆ssh 172.25.254.20 -l root ##不可以登陆