Linux基础 ·

sshd 服务端安全优化配置与免密登录

CentOS7自带的SSH服务是OpenSSH中的一个独立守护进程SSHD。由于使用telnet在网络中是明文传输所以用其管理服务器是非常不安全的不安全,SSH协议族可以用来对服务器的管理以及在计算机之间传送文件。

一、配置文件

服务器配置文件 /etc/ssh/sshd_config

日志文件 /var/log/secure

二、配置文件详解

三、sed 快速修改配置

记住 先要备份 sshd_config 文件

修改 ssh 远程访问端口 把 #Port 22 改为 Port 88888

禁止用户SSH空密码用户登录 PermitEmptyPasswords no

对远程主机进行反向解析 禁用GSSAPI来认证,和DNS反向解析,加快SSH登陆速度

禁止SSH反向解析 对远程主机进行反向解析,会减慢ssh连接速度

认证前输出的登录提示信息,指定文件路径

禁止root远程登录(NO) 并且允许root用户远程登录(YES)

是否允许使用密码登录。只能用 SSH 公钥自动验证登录 yes更改为no

是不使用密钥建立 SSH 连接

key验证登录的客户端公钥路径

是否使用基于key验证登录

开启秘钥认证

start:rate:full;当连接但为进行认证的用户超过10个,
drop30%(rate/full)的连接当连接但未登录的连接达到100个后,新建立的连接将被拒绝

连接超时未10秒

连接但未登录的用户最大值为10

尝试6次系统就断开连接

SSH LogLevel设置为INFO,记录登录和注销活动

四、免密登录(基于KEY验证登录)

在客户端成功密钥对,然后将公钥复制到要免密登录的服务器即可。
:名称只能为 authorized_keys ,添加多个公钥信息可以直接追加 >> .ssh/authorized_keys

在 192.168.20.231 上操作 免密登录 192.168.20.232
一路按回车生成本地机器的密钥对,root位置在 /root/.ssh ,普通用户 admin 在 /home/admin/.ssh 下面

运行上面命令后,系统会出现一系列提示,一路回车就可,运行结束以后,默认在/root/.ssh目录,普通用户在 /home/admin/.ssh 同时生成两个文件:
id_rsa:私钥
id_rsa.pub:公钥
.ssh文件夹赋权限 700

实现本地免密登录,将 id_rsa.pub 中的内容拷贝到 authorized_keys

设置普通用户家目录用户组权限 admin

用root先设置 authorized_keys; 的文件权限设置为 644,验证登录成功后在设置权限为600

普通用户登录 将本地机器上公钥的文本直接copy到需要设置远程免密登录的服务器 ~/.ssh/authorized_keys,。

在这里输入yes,然后会提示输入 admin 远程登录密码

验证登录远程主机

注意:如果这里验证登录成功后,要把 authorized_keys; 的文件权限设置为 600

SCP 上传

SCP 下载

评论已关闭