目录
一. SSH 远程管理
- SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能;
- 对通信双方的数据传输进行加密处理,其中包括用户登录时输入的用户口令;
- 与早期的Telnet(远程登录)、rsh(远程执行命令)、rcp(远程文件控制)等相比,SSH协议提供了更好的安全性。
①配置Open SSH 服务端
- SSH服务端的配置文件:/etc/ssh/sshd_config
- 服务监听选项:端口(默认Tcp的22号端口)、地址、协议版本和DNS反向解析等
vim /etc/ssh/sshd_config #服务端配置文件
#Port 22 #监听端口为 22
#AddressFamily any #监听地址为任意网卡,也可以指定 Openssh 服务器的具体 ip
#LoginGraceTime 2m #登录验证时间为2分钟
#PermitRootLogin yes #禁止 root 用户登录
#MaxAuthTries 6 #最大重试次数为 6
#PermitEmptyPasswords no #禁止空密码用户登录
#UseDNS no #禁用 DNS 反向解析,以提高服务器的响应速度
----------------------------------------------------------------------------------
配置允许和禁止用户登录:加@表示限制ip,注意允许和禁止不要同时使用!!
AllowUsers zhangsan #允许 zhangsan 登录
AllowUsers zhangsan@192.168.80.80 #只允许 zhangsan 通过 192.168.80.80 登录
DenyUsers lisi #禁止 lisi 登录
例:只允许zhangsang、lisi、wangwu用户登录,且其中lisi用户仅能够从IP地址为192.168.80.80的主机远程登录。
1 vim /etc/ssh/sshd_config #修改服务端配置文件
2 -------------------------------------------------------
3 AllowUsers zhangsan lisi@192.168.80.80 wangwu #这里为添加的配置
4 -------------------------------------------------------
5 systemctl reload sshd #修改完记得重新加载
②sshd 支持的登陆验证方式
sshd服务支持登录验证方式有:密码验证和密钥对验证,可以设置只使用其中一种,也可以都启用。
- 密码验证:
以服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户机角度来看,正在连接的服务器有可能被假冒,从服务器角度来看,当遭遇密码暴力破解攻击时防御能力比较弱。
- 密钥对验证:
要求提供相匹配的密钥信息才能通过验证,通常先在客户机中创建一对密钥文件(公钥和私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,增强了远程管理的安全性。
- 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密;
- 不能根据一个密码来推算出另一个密钥;
- 公钥对外公开,私钥只有私钥的持有人才知道。
- 公钥和私钥要配对使用,如果用公钥对数据进行加密,只有用相对应的私钥才能解密;如果用私钥对数据进行加密,那么只有对应的公钥才能解密。
- 当密码验证、密钥对验证都启用时,