重生之开始学渗透

第十章.ssh服务

目录

安装openssh

配置公钥私钥登录

openssh配置文件 加固

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

实验一 修改ssh的默认端口

实验二 配置ssh日志

实验三 禁止root登录

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

实验五 开启空口令登录

实验六 调试访问速度

实验七 启用密码策略

SSH日志


在前几天嫖了波云服务器,在上面配置了LAMP环境,并利用Discuz!,搭建了论坛,使用DWA搭建好了靶机,以及wordpress搭建了博客网站,然后摸鱼了一段时间,今天来更新7.25的内容........

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

emmmmm,这个命令适用于kali但centos7没有这个命令

可以用这个命令来查询

rpm -qa | openssh

配置公钥私钥登录

 ssh有两种常用登录模式 密码口令 公私钥

 

ssh服务公钥登录 流程

 我们来举个栗子,

(1) A 要向 B 发送信息,A 和 B 都要产生一对用于加密和解密的公钥和私钥。

(2) A 的私钥保密,A 的公钥告诉 B;B 的私钥保密,B 的公钥告诉 A。

(3) A 要给 B 发送信息时,A 用 B 的公钥加密信息,因为 A 知道 B 的公钥。

(4) A 将这个消息发给 B (已经用 B 的公钥加密消息)。

(5) B 收到这个消息后,B 用自己的私钥解密 A 的消息。其他所有收到这个报文的人都无法解密,因为只有 B 才有 B 的私钥。这样俩人就能互相通信了。

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

  1. 生成密钥对

ssh-keygen

2.密钥对路径

/root/.ssh

 

id_rsa 私钥

id_rsa.pub 公钥

3.在服务器中 修改配置

/etc/ssh/sshd_config

将内容修改为:

 

 

重启

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

ssh-copy-id root@192.168.158.130

5.进行无密码登录

 至于使用公钥私钥有什么好处捏

首先我们可以使用无密码登录

然后

 

  1. 数据加密: 公钥和私钥结合形成非对称加密体系。公钥用于加密数据,只有私钥持有者能够解密它。这样可以保证数据在传输过程中的安全性,即使在不安全的网络环境下,数据也能得到保护。

  2. 身份验证: 数字签名是公钥和私钥的另一个重要用途。私钥用于签署数据,而公钥用于验证签名的真实性。这样可以确保数据的发送者身份是可信的,防止伪造和篡改。

  3. 密钥交换: 公钥可用于安全地传输对称加密算法的密钥。在加密会话开始时,客户端可以使用服务器的公钥来加密一个随机生成的对称密钥,并将其发送给服务器。服务器使用私钥解密这个对称密钥,然后双方就可以使用对称密钥进行高效的加密通信。

  4. 数字证书: 公钥基础设施(PKI)通过数字证书将公钥与实体(例如个人、组织或网站)绑定在一起。数字证书由认证机构(CA)签名,可用于验证实体的身份,并确保公钥的真实性和有效性。

  5. 密钥管理: 使用非对称密钥系统,密钥管理变得更加灵活。对于对称加密,需要在每个通信双方之间共享密钥,而在非对称加密中,只需保护好私钥即可

  6. 我在一些资料上看到这样还能在不信任的主机上登录的安全性,但是搜了一上午资料发现好像要把私钥备份给这台主机,,emmmm建议不要用这种方法。

    openssh配置文件 加固

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

     

  • 恢复配置文件

    vim /etc/ssh/sshd_config

  1.  

  •  

实验一 修改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

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

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

 

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 端口

 

代表断开连接

 

密码错误

 

使用密码登录成功

 

 

 

 

 

 

 

 


 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值