持久化:Linux SSH免密登录+端口复用

50 篇文章 4 订阅
16 篇文章 1 订阅

目录

利用SSH公钥免密登录

利用Linux端口复用

iptables简介

创建复用端口


利用SSH公钥免密登录

SSH默认有两种登录方式:密码登录和密钥登录,但是使用密码登录会有简单的密码不安全而复杂的密码难以记忆、使用统一密码管理多塔SSH主机安全性差等缺点,此时使用密钥登录是一个很好的解决方案

SSH密钥登录采用了非对称加密,而非对称加密需要两个密钥成对使用,分别为公钥和私钥,其中私钥是自己保存的,公钥是公开的公钥存放在SSH服务器中,私钥存放在本机

执行以下命令生成公钥和私钥

ssh-keygen -b 4096 -t rsa

执行成功后会生成 id.rsa(私钥)和id_rsa.pub(公钥)两个文件:

随后将公钥的内容全部复制到SSH服务器的/root/.ssh/authorized_keys文件中,复制过去后,使用本地的私钥登录,过程中使用参数 -i制指定私钥文件:

ssh -i id rsa root@192.168.159.200

 

利用Linux端口复用

iptables简介

在Linux中netfilter是一款继承了包过滤、地址与端口转换以及包修改功能的数据处理框架。该框架可以自定义规则来过滤指定的数据包,或者让指定的数据库以链的方式进行传送

创建复用端口

使用下列命令可以查看防火墙的运行状态:

如果未开启可以使用下列命令开启:

然后使用下列命令可以看到80端口的情况

可以看到80端口是开放的,我们也可以使用curl进行测试:

此时,在6666端口上开发一个后门程序,因为防火墙的原因我们无法直接访问6666端口,此时可以使用iptabls将80端口的流量重定向到6666端口

使用下列命令来创建一条将80端口重定向到6666端口的规则:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT  --to-port 6666 

这条命令就是对流量进行了重定向

然后使用下列的命令查看规则是否创建:

iptables -t nat -L PREROUTING --line-number

可以看到已经创建了

然后我们使用nc进行连接:

nc 192.168.159.200 80

但是这样会破坏原有的80端口上的业务,因此我们可以使用下面的命令删除创建的规则:

iptabeles -t nat -D PREROUTING 4

然后使用-s 和 --sport来制定请求的ip和端口:

iptabeles -t nat -A PREOUTING -p tcp -s 192,168,159,200 --sport 8888 -dport 80 -j REDIRECT ---port 6666

这样我们就可以实现如果是8888端口的请求就是被转发到6666端口,如果不是则不会触发规则

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未知百分百

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值