一、SSH介绍
SSH 为 Secure Shell 的缩写 , 是应用层的安全协议。
SSH 是目前较可靠 , 专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
二、客户端连接方式
ssh 远程主机用户@远程主机ip
ssh 远程主机用户@远程主机ip -X ##调用远程主机图形工具
ssh 远程主机用户@远程主机ip command ##直接在远程主机运行某条命令
三、ssh服务管理
systemctl list-units ##列出当前系统服务的状态
systemctl list-unit-files ##列出服务的开机状态
systemctl status sshd ##查看指定服务的状态
systemctl stop sshd ##关闭指定服务
systemctl start sshd ##开启指定服务
systemctl restart sshd ##从新启动服务
systemctl enable sshd ##设定指定服务开机开启
systemctl disable sshd ##设定指定服务开机关闭
systemctl reload sshd ##使指定服务从新加载配置
systemctl list-dependencies sshd ##查看指定服务的倚赖关系
systemctl mask sshd ##冻结指定服务
systemctl unmask sshd ##启用服务
systemctl set-default multi-user.target ##开机不开启图形
systemctl set-default graphical.target ##开机启动图形
setterm ##文本界面设定color
- 服务状态
systemctl status 服务名称
loaded ##系统服务已经初始化完成,加载过配置
active(running) ##正有一个或多个程序正在系统中执行,
# vsftpd 就是這種模式
atcive(exited) ##仅执行一次就正常結束的服務,
# 目前並沒有任何程序在系統中執行
atcive(waiting) ##正在執行當中,
# 不過還再等待其他的事件才能繼續處理
inactive ##服务关闭
enbaled ##服务开机启动
disabled ##服务开机不自启
static ##服务开机启动项不可被管理
failed ##系统配置错误
四、sshkey加密
1、生成私钥、公钥
[root@server11 ~]# ssh-keygen ##一路回车
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ##加密字符保存文件(建议用默认)
Enter passphrase (empty for no passphrase): ##密钥密码,必须>4个字符
Enter same passphrase again: ##确认密码
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:
b3:cd:26:6b:fe:d3:dc:2a:f3:9d:fb:dd:b2:2b:b1:06 root@server11
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| |
| S |
| =E . |
| o ++ + |
| .++ *.o.o|
| oo..*oo**+|
+-----------------+
示图:生成的私钥、公钥
注意:每个SSH用户都有自己的known_hosts文件,此外系统也有一个这样的文件,通常是/etc/ssh/ssh_known_hosts,保存一些对所有用户都可信赖的远程主机的公钥。
2、添加key认证方式
[root@server11 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.51.12
3、分发钥匙给Client主机
[root@server11 ~]# scp /root/.ssh/id_rsa root@172.25.51.11:/root/.ssh/
4、测试
示图:Client通过ssh(id_rsa)直接远程连接Server,不需要输入用户密码
五、提升openssh的安全级别
1.openssh-server配置文件
/etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
48 PermitRootLogin yes|no ##是否允许超级用户登陆
49 AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers westos ##用户黑名单
2.控制ssh客户端访问
客户访问黑名单
vim /etc/hosts.deny
sshd:ALL ##拒绝所有人链接sshd服务
客户访问白名单
vim /etc/hosts.allow
sshd:172.25.254.250 ##允许250主机链接sshd
sshd:172.25.254.250, 172.25.254.180 ##允许250和180链接
sshd:ALL EXCEPT 172.25.254.200 ##只不允许200链接sshd
3.ssh登陆提示修改
[root@server11 ~]# vim /etc/motd ##登陆后显示字符
######################
# HOST:172.25.51.11 #
# USER:Hannah_zh #
######################