client: server1 172.25.254.10
server: server2 172.25.254.20
ifconfig 或ip addr 查看ip地址
nm-connection-editor 设定ip地址 或图形化设置ip地址
hostnamectl set-hostname 设定主机名称 (须重新打开窗口)
Openssh 1.作用: 在企业中的运维工作,不是1v1的运维,运维工程师基本都是1vN.在运维工程师对服务器进行管理时,需要通过网络登陆远程主机,需要通过网络在远程主机中开启shell来进程操作,远程主机必须提供这样的开启shell的方式.以上的需求由openssh服务来提供,远程主机中安装了openssh并开启了这个程序,那么我们就可以通过网络来连接这台主机了.
2.软件包名称 openssh-server(自动安装)
3.服务名称 sshd
4.客户端 ssh ssh 172.25.254.20 -l root 172.25.254.20 远程主机ip -l login 登陆 root 远程主机的超级用户
5.sshd服务端口 22/tcp
6.配置文件 /etc/ssh/sshd_config
1.用户密码认证 (对称加密) * 密码容易泄漏 * 容易忘记
2.密钥认证 (非对称加密) * 安全 * 不会忘记密码
3.建立key认证的方式
(1)* 建立key文件 172.25.254.10主机
[root@westos_client ~]# ssh-keygen 建立认证key文件 Generating public/private rsa key pair. Enter file in which 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. The key fingerprint is: SHA256:Uh8cYTxqCShLnD3NUxpIQ4/NOtSVuyPuMzHuGnxSd1k root@westos_client.westos.com The key's randomart image is: +---[RSA 2048]----+ | . =+=..oo+. | | = =B=+.oo. | | . oo.*o.+o.E | | .. . .=. + | | o o.S.+ | | . o+oo. | | +o.+ . | | += | | .+oo | +----[SHA256]-----+
(2)* 上传公钥 (加密远程主机) [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 are already 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.
(3)* 测试 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 免密连接
1.端口修改 vim /etc/ssh/sshd_config
17 port 22 -----> port 1111
(更改完端口后,sshd启动不了,需要setenforce 0,或者还要禁掉防火墙.)
测试 [root@server1~]# ssh 172.25.254.20 -l root ssh: connect to host 172.25.254.20 port 22: Connection refused 默认连接被拒绝
[root@server2 ~]# 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
添加端口127.0.0.1
测试: 在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服务的用户控制
man 1 命令 查看命令帮助
man 5 文件名 查看文件帮助
建立实验素材
在服务器中: 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
(1)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 输入正确密码仍然不能登陆
(2)用户黑名单 (默认可以登陆,名单中的用户被禁止) vim /etc/ssh/sshd_config DenyUsers 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 不可以登陆
(3)用户白名单 (默认不可以登陆,名单中的用户被允许) 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 不可以登陆
172.25.254.20 登陆模式选择第二个(X11模式)
172.25.254.10:
ssh 172.25.254.20 -l root 此方法登陆时不能调用远程主机的图形命令
ssh -X 172.25.254.20 -l root 当前登陆可以调用图形 -X 代表启用x11图形连接
ssh 172.25.254.20 -l root touch /root/Desktop/westosfile{1..10} 直接执行命令在远程主机中
ssh 172.25.254.20 -l root -o StrictHostKeyChecking=no 在连接主机时不检测HOSTKEY (屏蔽yes、no的输入,第一次连接会询问)
指定连接跳板 -t
172.25.254.20: vim /etc/motd 在此文件中有什么字符在ssh登陆时就可以看到什么字符