sshd服务
sshd.service服务
systemctl status sshd.service 查看服务器端的sshd-service状态systemctl start sshd.service 打开服务器端sshd.service服务
功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell
2.客户端连接方式
ssh 远程主机用户@远程主机ip
ssh 远程主机用户@远程主机ip -X 调用远程主机图形工具
如上图,当直接连接(不加-X)时,gedit不显示,当加上-X,调用远程主机的图形功能,gedit显示出来
ssh 远程主机用户@远程主机IP command 直接在远程主机运行某条命令
如上图,在server端的 /root/Desktop/ 下touch file{1..3} 在client端连接时,加上删除命令,则在远程主机(server端)上运行该命令。
w -f 远程主机显示连接信息
ps aux |grep pts/1 显示pts/1具体信息
3.ssh登陆提示修改该
vim /etc/motd 显示登陆后字符
hello world 在登陆后就会显示这个字符
3.sshkey加密
(1).生成公钥私钥
[[email protected] ~]# ssh-****** 生成公钥私钥工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter] 加密字符保存文件(建议用默认)
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): [enter] **密码,必须>4个字符
Enter same passphrase again: [enter] 确认密码
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:
ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|o |
|E. |
|.. |
|. . o |
|.o. * . S |
|oo.o o . |
|+ =. . . |
|o. oo.+.. |
| ..o*. |
+-----------------+
显示该目录下的文件
注意:上图中id_rsa:私钥(就是钥匙)id_rsa.pub :公钥(就是锁)。
2.添加key认证方式
[[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
ssh-copy-id 添加key认证方式的工具
-i 指定加密key文件
/root/.ssh/id_rsa.pub 加密key
root 加密用户为root
172.25.0.11 被加密主机ip
注意:要确认被加密主机的密码。
Test:在ssh-server配置文件中更改用户密码认证状态,yes为支持no为关闭
① vim /etc/ssh/sshd_config
②在78行将状态改为no
③保存退出(wq)
④重启服务(systemctl restart sshd.service)否则无法生效
⑤server端主机无法连接
证明:当用户密码认证状态改为no的时候,给远程主机(server端主机)加上锁后,client端主机不能连接。
3.分发钥匙给client(客户端)主机 注意:先将用户密码认证状态改为yes
[[email protected] ~]# scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
scp 以超级用户的身份复制
/root/.ssh/id_rsa 复制该文件(钥匙)
[email protected] ip地址为127.1.1.10的主机(client端主机)以root身份
:/root/.ssh/ 将复制的文件存在被指定主机的该地址
Tips:更该主机名可用该命令 :hostnamectl set-hostname 新主机名 ,最后再重新启动一个新的shell即可
当分发给client端主机钥匙后,在其/root/.ssh/目录下可以找到id_rsa文件,这个时候,在用户认证状态为no的时候,也可以访问server端主机啦。
4.提升openssh的安全级别 (以下对配置文件的更改,退出保存后都都要重启服务)
(1).openssh-server配置文件 vim /etc/ssh/sshd_config
78 PasswordAuthentication yes|no 是否开启用户密码认证,yes为支持no为关闭
client端连接结果:
如上图将该认证方式改为no的时候,则无法连接远程主机
48 PermitRootLogin yes|no 是否允许超级用户登陆
:
client端连接结果:
49 AllowUsers student westos 用户白名单,只有在名单中出现的用户可以使用sshd建立shell
client端连接结果:
如下图,当将PermitRootLogin yes|no改为no的时候,即便用户白名单中有root 仍然无法使用root身份连接远程主机
(server端)
client端连接结果:
50 DenyUsers westos 用户黑名单
client端连接结果:
Tips:在server端新建一个用户时 ,需要设定一个密码,则可以在client户端以该用户身份访问。
(2).控制ssh客户端访问
限制主机访问服务器
①vim /etc/hosts.deny
sshd:ALL 拒绝所有人连接sshd服务
:
client端连接结果:
②vim /etc/hosts.allow
sshd:172.25.38.10 允许该主机连接sshd
sshd:172.25.38.10 , 172.25.254.180 允许这两个IP链接sshd:ALL EXCEPT 172.25.38.10 只不允许该IP主机链接sshd