Linux中的Openssh服务器部署
一.实验环境的搭建
需要两台主机: client: westos.client.westos.com 172.25.254.10
server: westos.node1.westos.com 172.25.254.20
命令nm-connection-editor 设定IP地址 ifconfig 查看IP地址
hostnamectl set-hostname 主机名 修改主机名称
ping -c1 -w1 ip地址 可查看是否能和其他主机匹配
二.Openssh服务的基本信息
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。
1.Openssh的作用:在企业中的运维工作,不是一对一的运维,运维工程师都是一对多,在运维工程师对服务器进行管理时,需要通过网络登录远程主机,需要通过网络在远程主机中开启shell来进行远程操作,远程主机必须提供这样开启shell的方式,以上需求由Openssh服务提供,远程主机中安装了Openssh并开启了这个程序,那么我们就可以通过网络来连接这台主机。
2.软件包名称
openssh-server
3.服务名称
sshd
4.客户端
ssh
ssh 172.25.254 -l root 该命令等于 ssh root@172.25.254
三.Openssh 服务的Key认证
1.用户密码认证(对称加密):该方法密码容易泄露,容易忘记
2.密钥认证(非对称加密):安全,不会忘记密码
3.建立Key认证的方式
(1)建立Key文件
在172.25.254.10上建立,建立方法如下操作
(2)上传公钥(加密),操作如下
测试:
在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-------》1111
修改完之后 systemctl restart sshd
测试实验:
2.端口绑定
修改 :vim /etc/ssh/sshd_config
在20 主机上 将19行 的ListenAddress 0:0:0:0 ---------->172.25.254.20
测试:
在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 不可登录
操作如下:
实验出现问题可以输入:setenforce 0
3.密码认证的关闭
修改 :vim /etc/ssh/sshd_config
Passwdauthentication no 将yes改为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.10 可以输入密码登陆
参数修改并重启服务后
172.25.254.10 --------》 ssh root@172.25.254.20 可以登陆
172.25.254.20 --------》 ssh root@172.25.254.10 不可以输入密码登陆
操作如下图:
4.sshd服务的用户控制
(1)实验素材环境的建立
在20主机上建立用户 westos 和lee两个用户 并设置密码为lee echo lee | passwd --stdin lee
这样20主机中就用三个用户 root,westos 和lee
(2)root用户的访问控制
vim /etc/ssh/sshd_config 修改配置文件 PermintRootLogin yes -------> no 禁止超级用户使用ssh 进行认证
实验如下:
在20主机中
ssh 172.25.254.20 -l root 默认输入密码可登录
修改后
ssh 172.25.254.20 -l root 输入密码不可登录
实验操作如下:
(3)用户黑名单
vim /etc/ssh/sshd_config 在文件中写入 DenyUsers lee 表示lee被冻结 不能使用SSHD服务
(4)用户白名单
vim /etc/ssh/sshd_config 在文件中写入 AllowUsers westos 表示westos 可以使用sshd服务,其他用户不可使用
(3)(4)实验操作和(2)一样
5.远程执行命令
实验1. 20主机在登录系统是选择第二个模式登录(X11模式)
在10主机输入命令:ssh 172.25.254.20 -l root 此方法登录时 不能远程调用远程主机的图形命令
当在10主机输入命令:ssh -X 172.25.254.20 -l root 当前登录登录方式可以调用远程的图形。-X表示启动X11模式的图形连接
实验操作如下:
实验二:在20主机上 rm -fr /root/know -hosts
输入ssh 172.25.254.20 -l root -o StrictHostkeychecking=no 该命令表示在连接主机时不检测HostKEY (屏蔽YES/NO)
实验三:在远程主机中建立文件
一条命令即可在远程主机上建立文件:
ssh 172.25.254.20 -l root touch /root/Desktop/file
6.ssh登录信息修改
在20主机中 输入 vim /etc/motd 在此文件中有什么字符 在ssh登录时就可看到什么字符