1. SSH基本概念?

ssh是一个应用层安全协议

2.SSH主要的功能是?

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

远程登录:


ssh

telnet

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

服务连接方式 服务数据传输 服务监听端口 服务登陆用户
ssh 加密 22/tcp 默认支持root用户登陆
telnet 明文 23/tcp 不支持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.实现免密码登录方式
3.1创建一对密钥 公钥+私钥 ==配套
[root@manager ~]# ssh-keygen -C manger@qq.com //一路回车即可
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
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:
SHA256:gk2zFs5LuoV4Jf381EaFnaHvRZu36qLqIcYUma17SeU manger@qq.com
The key's randomart image is:
+---[RSA 2048]----+
| . |
| + + o |
| ++. . o + .|
| Bo+o o .o|
| oo@.SE . .oo|
| .oBo=. o . .o|
| . +=o+o . o .. |
| ..oo .o o . |
| . .o..o oo |
+----[SHA256]-----+ 3.2 将管理机的公钥推送至web服务器上 ( 需要输入对端服务器的密码 )
[root@manager ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.1.7
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '172.16.1.7 (172.16.1.7)' can't be established.
ECDSA key fingerprint is SHA256:INgxiiDMWAw79GeJRGUjsLmXJmXbHDXyAJqV8wFxhpI.
ECDSA key fingerprint is MD5:78:6a:d4:ad:13:4a:c9:17:cb:3a:4d:cf:2f:c8:2c:08.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.16.1.7's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@172.16.1.7'"
and check to make sure that only the key(s) you wanted were added. 3.3 使用 ssh 命令 连接 对应的服务器 ( 检查是否免密码 )
[root@manager ~]# ssh 'root@172.16.1.7' 3.4有问题查看日志信息
tail -f /var/log/secure



ssh无密码登录失败分析

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

6. SSH远程管理服务实战的更多相关文章

  1. SSH远程管理服务实战

    目录 SSH远程管理服务实战 1.SSH基本概述 2.SSH相关命令 3.Xshell连接不上虚拟机 4.scp命令 5.sftp命令 6.SSH验证方式 7.SSH场景实践 8.SH安全优化 9.交 ...

  2. 6、SSH远程管理服务实战

    1.SSH基本概述 SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输.确保了数据传输安全.那SSH服务主要功能有哪些呢? 1.提供远程连接服务器的服务. 2.对传输 ...

  3. Linux-SSH远程管理服务实战

    figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...

  4. 五.ssh远程管理服务

    01. 远程管理服务知识介绍 1) SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定: ...

  5. Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务

    SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Worki ...

  6. Linux系统学习 八、SSH服务—SSH远程管理服务

    1.SSH简介 ssh(安全外壳协议)是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议.传输的时候是经过加密的,防止信息泄露,比telnet(明文传递)要安全很多. ftp安装 ...

  7. Linux下 SSH远程管理服务

    第1章 SSH基本概述 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Group )制定 在进 ...

  8. ssh远程管理服务的介绍

    第6章 远程管理的介绍 6.1 服务的概念介绍 6.1.1 ssh和telnet服务的相同和不同点 ssh: 服务端口号为22 在数据传输的时候是加密的传输 一般在互联网中使用,可以使用root账号进 ...

  9. linux运维、架构之路-SSH远程管理服务

    一.SSH服务功能介绍 1.远程登录管理 提供类似telnet远程联机服务器的服务,即上面提到的SSH服务 2.远程传输文件 是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供 ...

随机推荐

  1. OAuth2.0摘要

    一.简介 不使用oauth2.0协议,资源所有者直接给需要使用资源的第三方应用共享凭据时,有这些问题: 需要直接共享给第三方应用凭据 需要服务器支持密码身份验证 凭据的访问权限过大,失去对访问时间和范 ...

  2. [C++] C++中的常用库

    转载自:C++常用库 C++ 资源大全 关于 C++ 框架.库和资源的一些汇总列表,内容包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++标准库,包 ...

  3. 使用python发邮件(qq邮箱)

    今天打算用QQ邮箱作为示例使用的邮箱,其他邮箱基本操作一样. 第一步:首先获取QQ邮箱授权码 1.进入QQ邮箱首页,点击设置,如图, 2.然后点击账户 3.拉到这个地方,开启POP3/SMTP服务服务 ...

  4. Java秒杀系统优化的工程要点

    这篇博客是笔者学习慕课网若鱼老师的<Java秒杀系统方案优化 高性能高并发实战>课程的学习笔记.若鱼老师授课循循善诱,讲解由浅入深,欢迎大家支持. 本文记录课程中的注意点,方便以后code ...

  5. Python邮件发送功能

    import smtplibfrom email.mime.text import MIMEText_user = "1147016115@qq.com"#发件人_pwd = &q ...

  6. 【ADO.NET基础-数据加密】第一篇(加密解密篇)

    可以采用下面的函数实现密码的加密 public static string EncryptString(string str) { //密文 string key = "www"; ...

  7. Javascript设计模式——建造者模式

    建造者模式是相对比较简单的一种设计模式,属于创建型模式的一种: 定义:将一个复杂的对象分解成多个简单的对象来进行构建,将复杂的构建层与表现层分离,使相同的构建过程可以创建不同的表示模式:    优点: ...

  8. httprouter框架 (Gin使用的路由框架)

    之前在Gin中已经说到, Gin比Martini的效率高好多耶, 究其原因是因为使用了httprouter这个路由框架, httprouter的git地址是: httprouter源码. 今天稍微看了 ...

  9. SpringBoot系列:Spring Boot使用模板引擎FreeMarker

    一.Java模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档. 在jav ...

  10. 移动端border-radius的几个BUG

    个人博客: http://mcchen.club 一.Android 2.3 自带浏览器不支持 % 通常我们实现一个正圆只需要border-radius: 50%即可,大致代码如下 .foo { wi ...