SSH远程管理

admin1年前笔记98

1.SSH服务

1.1什么是SSH服务

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

优点:

  • 数据传输是加密的,可以防止信息泄漏

  • 数据传输是压缩的,可以提高传输速度

1.2常见的ssh协议

OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。

Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。

执行"systemctl start sshd"命令即可启动sshd 服务

sshd 服务默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)ftp  20 21

sshd服务的默认配置文件是/etc/ssh/sshd_config ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。

1.3 SSH原理

image.png

  • 客户端发起链接请求

  • 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

  • 客户端生成密钥对

  • 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

  • 客户端发送加密值到服务端,服务端用私钥解密,得到Res

  • 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

  • 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

1.4用户登录

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

ssh命令    -p 端口号 当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh   IP,端口默认即可,如果端口不是默认的情况下,需要使用-p 指定端口。

image.png

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

-l :-l 选项,指定登录名称

image.png

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

1.5服务端配置

1.5.1 端口号修改

image.png修改完之后要重启服务

1.5.2监听特定的ip地址

ListenAddress ip

监听地址设置SSHD服务器绑定的IP 地址,0.0.0.0 表示侦听所有地址安全建议:如果主机不需要从公网ssh访问,可以把监听地址改为内网地址 这个值可以写成本地IP地址,也可以写成所有地址,即0.0.0.0 表示所有IP。

1.5.3 设置最大失败尝试登录次数为6

image.png

1.5.4 PermitEmptyPasswords

密码验证当然是需要的!所以这里写 yes,也可以设置为 no,在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆。 

image.png

1.5.4 禁止root用户登录

image.png

image.png

1.5.5 白名单黑名单列表

image.png

1.5.6其他的一些常用配置项

image.png

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. 经常分析日志 分离

2.怎么样实现免密登录

2.1操作流程

1.先生成密钥文件

image.png

2.不需要改文件位置的话直接三次回车,加密文件就生成了

image.png

3.cd过去查看文件是否被建立

image.png 4.将公钥文件发送给你想直接免密登录的主机

image.png

5.输入密码验证,即可完成

image.png

6.之后再连就不需要密码了

image.png


相关文章

简单介绍mysql中数据库覆盖导入的几种方式

简单介绍mysql中数据库覆盖导入的几种方式

众所周知,数据库中INSERT INTO语法是append方式的插入,而最近在处理一些客户数据导入场景时,经常遇到需要覆盖式导入的情况常见的覆盖式导入主要有下面两种:1、部分覆盖:新老数据根据关键列值...

详解MySQL性能指标及计算方法

详解MySQL性能指标及计算方法

绝大多数MySQL性能指标可以通过以下两种方式获取:mysqladmin使用mysqladmin extended-status命令获得的MySQL的性能指标,默认为累计值。如果想了解当前状态,需要进...

Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理

Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理

目录一、Nginx防盗链二、Nginx访问控制三、Nginx解析php相关配置四、Nginx代理一、Nginx防盗链配置Nginx防盗链和配置过期时间、不记录日志都用到location,所以可以把两部...

Linux系统中设置开机自动运行的两种方法

Linux系统中设置开机自动运行的两种方法

有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本。我们要怎样做呢?本文中我们就对此进行讨论。 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu 系统上做到...

Docker经典入门学习教程

Docker经典入门学习教程

1.1.1 容器历史虽然 docker 把容器技术推向了巅峰,但容器技术却不是从 docker 诞生的。实际上,容器技术连新技术都算不上,因为它的诞生和使用确实有些年头了。下面的一串名称肯能有的你都没...

在windows上配置v2ray的全局代理(vless+xtls

在windows上配置v2ray的全局代理(vless+xtls

前言如果没有搭建Xray服务器端,请参考:从零开始搭建xray服务器如果有路由器,请直接参考:AC2100无线桥接校园网如果没有路由器,只想在pc上运行v2ray,可以按本篇文章的步骤来配置全局路由。...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。