SSH

文章介绍了如何安装和配置openssh服务,包括修改默认端口、配置日志、禁止root登录、设置自动断开连接、启用密码策略等,以增强远程管理的安全性。此外,还讲解了公钥私钥登录的流程和如何加固openssh配置文件。
摘要由CSDN通过智能技术生成

目录

安装openssh

配置公钥私钥登录

openssh配置文件 加固

实验一 修改ssh的默认端口

实验二 配置ssh日志

实验三 禁止root登录

实验四 配置长时间无人操作自动断开

实验五 开启空口令登录

实验六 调试访问速度

实验七 启用密码策略

SSH日志


ssh 可靠的专为远程登录会话提供的安全协议,可以有效封站远程管理过层中信息泄露问题

ssh 1.0 2.0

openssh服务 是ssh协议的免费开源的实现 提供了服务端后台程序 客户端工具 加密传输文件

通过ssh 可以把传输的数据进行加密 能防止中间人 ip欺骗 dns欺骗

传输文件命令 scp

从本地上传文件至远程服务器

scp 【本地文件路径】[username]@【主机ip】:拷贝的目录

从远程服务器下载文件到本地

scp [username]@[主机ip]:[远程文件路径] 【本地文件路径】

ssh远程连接

ssh [username]@[主机ip]

exit退出

安装openssh

cenos kali 默认安装了openssh 可以通过以下命令查询

dpkg -l | grep openssh

服务的状态/停止/启动

systemctl status ssh.service

配置公钥私钥登录

ssh服务 通过 密码登录 流程

ssh服务公钥登录 流程

使用公私钥登录 避免每次都输入密码

  1. 生成密钥对

ssh-keygen

  1. 密钥对路径

/root/.ssh 直接回车为默认路径,也就是这个

id_rsa 私钥

id_rsa.pub 公钥

  1. 在服务器中 修改配置

/etc/ssh/sshd_config

将内容修改为:

重启

  1. 通过命令将密钥拷贝至服务器

ssh-copy-id root@192.168.158.130

  1. 进行无密码登录

客户端有私钥 被登陆的服务器有客户端的公钥,公钥与私钥这一密钥对由客户端产生,上面我们使用的是rsa算法生成的密钥对 也可以使用dsa算法

openssh配置文件 加固

先删除服务器的公钥 以免影响后续实验

恢复配置文件

vim /etc/ssh/sshd_config

实验一 修改ssh的默认端口

vim /etc/ssh/sshd_config

重启

重新进行登录:

sshd_config 服务端配置文件

ssh_config 客户端配置文件

实验二 配置ssh日志

vim /etc/ssh/sshd_config

SyslogFacility 规定了日志的性质 同时规定了默认路径

loglevel 表示设置记录sshd日志信息级别

AUTHPRIV 表达用户记录的是包含敏感信息的用户身份验证消息 /var/log/secure

AUTH 表达不包含敏感信息用户的身份验证消息 /var/log/secure

ssh配置文件 log部分一般不需要做修改 但是Linux系统其他服务配置文件中,可能SyslogFacility会有下面这些状态

SyslogFacility

设置描述默认日志文件
local0BIG-IP 特定消息/var/log/ltm
local1EM 特定消息 APM 特定消息/var/log/em /var/log/apm
loacl2GTM 和链路控制器特定消息/var/log/gtm
local3ASM 特定消息/var/log/asm
loacl4ITCM 门户和服务器 (iControl) 特定消息/var/log/ltm
loacl5包过滤特定消息/var/log/pktfilter
loacl6HTTPD 特定消息/var/log/httpd/httpd_errors
loacl7Linux 特定的引导消息/var/log/boot.log
croncron进程相关的消息/var/log/cron
daemon与系统守护进程相关的消息(包括namedntpd/var/log/daemon.log
kern内核消息/var/log/kern.log
mail邮件系统消息/var/log/maillog
auth不包含敏感信息的用户身份验证消息/var/log/secure
authpriv包含敏感信息的用户身份验证消息/var/log/secure
user与用户进程相关的消息/var/log/user.log

loglevel info 表示设置记录sshd日志的级别,可以理解为日志的详细程度

info 表示日志会报告大部分有用信息,是比较详细的等级

等级描述冗长度
emerg紧急系统紧急信息最低限度
alert需要管理员干预的严重错误低的
crit严重错误,包括硬件和文件系统故障低的
err非关键但可能非常重要的错误消息低的
warning至少应该记录以供审查的警告消息中等的
notice包含有用但可能会被忽略的消息中等的
info包含有用但可能会被忽略的消息高的
debug仅用于故障排除的消息最大值

DEBUG

INFO

实验三 禁止root登录

vim /etc/ssh/sshd_config

重启

尝试登陆root

失败 权限被拒绝,请重试

尝试登陆普通用户

成功

实验四 配置长时间无人操作自动断开

vim /etc/ssh/sshd_config

重启

这个选项决定了我们在使用ssh连接 登录的时间

/etc/profile

export TMOUT=10

使配置文件生效 source /etc/profile

实验五 开启空口令登录

vim /etc/ssh/sshd_config

使用空口令登录必须开启密码验证

重启

创建新用户

useradd user111

清除密码

passwd -d user111

实验六 调试访问速度

vim /etc/ssh/sshd_config

关闭GSSAP认证

关闭DNS认证

重启

实验七 启用密码策略

vim /etc/login.defs

PASS_MAX_DAYS 密码过期时间 (默认天)

PASS_MIN_DAYS 修改密码最小间隔时间

PASS_MIN_LEN 密码最短长度

PASS_WARN_AGE 密码过期的前一天内通知用户

/etc/security/pwquality.conf

minlen = 9 用户密码的最小长度

minclass= 定义密码必须满足同时有几种字符 大小写字母 数字 符号

maxrepeat = 定义密码中允许几个连续相同的字符

maxclassrepeat 定义用户密码连续字符的最大数目

lcredit 定义用户的密码中必须包含多少小写字母

ucredit 定义用户密码中必须包含多少大写字母

dcredit 定义用户密码中必须包含多少数字

ocredit 定义用户密码中必须包含多少特殊字符

SSH日志

日志位置:/var/log/secure

代表空密码登录成功 用户 ip 端口

代表断开连接

密码错误

使用密码登录成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值