SSH 远程连接服务/实验配置

目录

ssh 协议 

ssh 原理

公钥传输原理

ssh 加密通讯原理

ssh 登录

登出 ssh

服务端配置常用配置项

sshd 服务支持登录验证方式

ssh服务的最佳实践

实际操作实验

修改默认端口

禁止 root 用户登录

黑白名单列表

输错密码限制

ssh -t 

免交互验证登录


ssh 协议 

  • 远程连接加密协议,加密压缩
  • 一种安全通道协议
  • 对通信数据进行了数据加密处理,用于远程管理

—— SSH客户端<--------------网络---------------->SSH服务端

—— 服务名称:sshd

—— 服务端主程序:/usr/sbin/sshd

—— 服务端配置文件:/etc/ssh/sshd_config


ssh 原理

公钥传输原理

解析

  1. 客户端首次发起连接
  2. 服务端会生成一个随机会话 ID ,会将服务端的公钥以及会话 ID 发给客户端
  3. 客户端收到会话 ID 以及服务端的公钥,会用客户端自己的公钥以及会话 ID 做运算,产生一个结果,然后再用服务端的公钥加密,将这个加密得到的结果传给服务端
  4. 服务端收到加密结果后,会用自己的私钥解密得到客户端的公钥和会话 ID 运算的结果,因为已知会话 ID ,所以就可以得到客户端的公钥
  5. 最后双方持有对面的公钥

ssh 加密通讯原理


ssh 登录

方法一:ssh 远程主机用户名@远程服务器主机名或IP地址 -p

如果是普通用户,则添加 -p 

方法二:ssh -l 远程主机用户名 远程服务器主机名或IP地址 -p

-l :指定登录名称

-p :指定登录端口,当服务端的端口非默认时,需要使用 -p 

登出 ssh

—— exit


服务端配置常用配置项

进入配置文件 /etc/ssh/sshd_config 查看配置文件


sshd 服务支持登录验证方式

—— 密码验证

以服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户机角度来看,正在连接的服务器有可能被假冒,从服务器角度来看,当遭遇密码暴力破解攻击时防御能力比较弱。

—— 密钥对验证

要求提供相匹配的密钥信息才能通过验证,通常先在客户机中创建一对密钥文件(公钥和私钥),然后将公钥文件放到服务器中的指定位置,远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,增强了远程管理的安全性

—— 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密

—— 不能根据一个密码来推算出另一个密钥

—— 公钥对外公开,私钥只有私钥的持有人才知道


ssh服务的最佳实践

  1. 建议使用非默认端口 22

  2. 禁止使用protocol version 1

  3. 限制可登录用户 白名单

  4. 设定空闲会话超时时长

  5. 利用防火墙设置ssh访问策略

  6. 仅监听特定的IP地址 公网 内网

  7. 基于口令认证时,使用强密码策略,比如:tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12| xargs

  8. 使用基于密钥的认证

  9. 禁止使用空密码

  10. 禁止root用户直接登录

  11. 限制ssh的访问频度和并发在线数

  12. 经常分析日志 分离


实际操作实验

修改默认端口

1. 进入配置文件 /etc/ssh/sshd_config 并进行修改


禁止 root 用户登录

1. 进入配置文件 /etc/ssh/sshd_config 并进行修改

注:此步虽然阻止了 root 用户登录,但是普通用户可以通过使用命令 su 切换到 root 用户

2. 修改 pam 认证模块,进入配置文件 /etc/pam.d/su

注:此步将彻底无法使用 root 用户,此步的意义在于,普通用户无法使用 su 命令


黑白名单列表

1. 进入配置文件 /etc/ssh/sshd_config 并进行添加配置

命令格式解析:

ALLowUsers                                     sy@192.168.88.99                               sy

固定命令                                     远程主机名@远程主机IP                       要添加的用户名


输错密码限制

1. 进入配置文件 /etc/ssh/sshd_config 并进行修改

注:数字为自定义,定义输错密码的次数


ssh -t 

命令举例:用于连接多个服务器

 ssh -t 192.168.91.101  ssh -t 192.168.91.102  ssh 192.168.91.103
方便跳板连接


免交互验证登录

1. 生成密钥,命令为 ssh-keygen

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值