Linux运维day36__阶段二——ssh跳板机

1.什么是SSH?

ssh是一个应用层安全协议

2.SSH主要的功能是?

实现远程登录,  数据传输过程中进行加密.  钉钉(澡堂模式)

远程登录:

SSH

Telnet

3.SSH与Telnet之间有什么区别?

SSH 加密 22 root直接登录

Telnet  明文 23 不支持root直接登录

4.抓包分析SSH与Telnet的区别?

Wireshark

[root@backup ~]# yum install telnet-server -y

[root@backup ~]# systemctl start telnet.socket

[oldboy@backup ~]$ echo oollddbbooyy  |sed -r 's#(.)(.)#\1#g'

oldboy

PS: 

服务器都是使用的SSH协议实现的远程登录

对于路由器  交换机  都是走的telnet协议  (  WEB界面调试  )

5.SSH相关客户端指令ssh、scp、sftp?

1.ssh      ( Windows Xshell Crt )  ( Mac  ssh命令  Crt )

[root@web01 ~]# ssh root@172.16.1.41

root@172.16.1.41's password:

2.scp:  rsync增量    scp 全量(每次都是覆盖)  ssh协议

拷贝目录 需要  -r参数

推送

[root@web01 ~]# scp ./web-file root@172.16.1.41:/tmp

获取

[root@web01 ~]# scp  root@172.16.1.41:/tmp/web-file  ./test

限速 ( kb  1024 * 8 = 实际的传输速率 )

[root@web01 ~]# scp -l 8192 ./1.txt 172.16.1.41:/tmp

root@172.16.1.41's password:

1.txt                          14%  74MB  1.0MB/s  07:09

3.sftp 文件传输协议?

为什么不适用命名的方式?  为什么使用xftp?

1.简单,带图形,支持断点续传,支持暂停

6.SSH远程登录方式、用户密码、秘钥方式?

1.基于用户和密码的方式

1.密码太复杂容易忘  lastpass

2.密码太简单不安全

2.基于密钥的方式实现 (指纹)

1.降低密码泄露风险

2.提升用户的便捷性

3.实现免密码登录方式

1.创建一对密钥  公钥+私钥 ==配套

[root@manager ~]# ssh-keygen -C manager@qq.com

.....一路回车.....

2.将管理机的公钥推送至web服务器上  ( 需要输入对端服务器的密码  )

[root@manager ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.1.7

3.使用 ssh 命令 连接 对应的服务器  ( 检查是否免密码  )

[root@manager ~]# ssh 'root@172.16.1.7'

4.有问题查看

tail -f /var/log/secure

https://www.jianshu.com/p/fb0df700305d

7.SSH场景实践,借助SSH免秘实现跳板机功能?

看图

8.SSH远程连接功能安全优化? fail2ban又是啥?(研究)

1.更改远程连接登陆的端口    port 6666

2.禁止ROOT管理员直接登录 PermitRootLogin no

直接  xshell  -->root  --> server  (禁止用户名密码  禁止密钥)

间接  xshell  -->oldxu  --> server  ---> su - root

3.密码认证方式改为密钥认证 PasswordAuthentication no

4.重要服务不使用公网IP地址 !!!!!!!!!!!!!!!!!

5.使用防火墙限制来源IP地址 软件防火墙  |  硬件防火墙

10.0.0.1(其他人)    --->  10.0.0.61 异常

10.0.0.100(公司)    --->  10.0.0.61     正常

6.修改后的配置  [测试完后记得还原]

[root@manager ~]# vim /etc/ssh/sshd_config

Port 6666                      # 变更SSH服务远程连接端口

PermitRootLogin        no      # 禁止root用户直接远程登录

PasswordAuthentication  no      # 禁止使用密码直接远程登录

UseDNS                  no      # 禁止ssh进行dns反向解析,影响ssh连接效率参数

GSSAPIAuthentication    no      # 禁止GSS认证,减少连接时产生的延迟

域名解析IP

IP解析域名

9.fail2ban又是啥?(研究)

ail2ban可以监控系统日志,并且根据一定规则匹配异常IP后使用Firewalld将其屏蔽,尤其是针对一些爆破/扫描等非常有效。

1.开启Firewalld防火墙

[root@bgx ~]# systemctl start firewalld

[root@bgx ~]# systemctl enable firewalld

[root@bgx ~]# firewall-cmd --state

running

2.修改firewalld规则,启用Firewalld后会禁止一些服务的传输,但默认会放行常用的22端口, 如果想添加更多,以下是放行SSH端口(22)示例,供参考:

#放行SSHD服务端口

[root@bgx ~]# firewall-cmd --permanent --add-service=ssh --add-service=http

#重载配置

[root@bgx ~]# firewall-cmd --reload

#查看已放行端口

[root@bgx ~]# firewall-cmd  --list-service

3.安装fail2ban,需要有epel

[root@bgx ~]# yum install fail2ban fail2ban-firewalld mailx -y

4.配置fail2ban规则.local会覆盖.conf文件

[root@bgx fail2ban]# cat /etc/fail2ban/jail.local

[DEFAULT]

ignoreip = 127.0.0.1/8

bantime  = 86400

findtime = 600

maxretry = 5

banaction = firewallcmd-ipset

action = %(action_mwl)s

[sshd]

enabled = true

filter  = sshd

port    = 22

action = %(action_mwl)s

logpath = /var/log/secure

5.启动服务,并检查状态

[root@bgx ~]# systemctl start fail2ban.service

[root@bgx ~]# fail2ban-client status sshd

6.清除被封掉的IP地址

[root@bgx ~]# fail2ban-client set sshd unbanip 10.0.0.1

10.SSH如何结合Google Authenticator 实现双向验证?  (适合自己用)

基于密码 + 动态口令 支持

基于密钥 + 动态口令 不支持

https://www.xuliangwei.com/bgx/1345.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 37.day05--ssh远程协议1.SSH基本概述SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理...
    优秀砖阅读 2,458评论 0 0
  • 1.什么是ssh ssh是一个应用层安全协议 2.ssh主要的功能 实现远程登录,数据传输过程中进行加密 3.ss...
    江枍_a99e阅读 155评论 0 0
  • 一、准备环境 m01 10.0.0.61backup 10.0.0.41 二、远程连接工具 2.1 ssh 2....
    文娟_狼剩阅读 732评论 0 0
  • ssh常用用法小结 在我们日常的工作中,经常涉及到维护服务器,那么为了方便操作,以及安全方面的考虑,通常我们都会在...
    大晴天小阳光阅读 3,183评论 0 3
  • 都说要长妊辰纹了怎么办?很多人都说用橄榄油吧! 但你知道吗? 橄榄油其实并不能预防妊辰纹!! 现在有更好更有--效...
    82Q39V1n阅读 307评论 0 0