ssh 服务

ssh

  • ssh是一种安全的远程登录方法,可以通过加密协议安全的登陆到另一台计算机上
  • sshd全称 ssh Daemon,是 ssh 的服务端,用于接受来自客户端的请求并为其提供服务

ssh连接的常用配置

为方便起见,本机假设远程机的 IP 地址为 127.0.0.2
1.远程连接机器

ssh root@127.0.0.2

2.远程连接机器,指定特定端口

ssh -p 22 root@127.0.0.2

3.使用 ssh 在远端执行命令

ssh -p 22 root@127.0.0.2  pwd

4.调试模式连接

ssh -v -p 22 root@127.0.0.2  pwd

5.将本机密钥传给目标机

ssh-copy-id root@127.0.0.2

6.从服务器删除主机密钥

ssh-keygen -R root@127.0.0.2

7.修改配置文件,关闭公钥确认。并设置连接别名
vim .ssh/config

Host 2
    HostName 127.0.0.2
    User root
    IdentityFile ~/.ssh/id_rsa_test

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

这样就可以直接用 ssh 2 进行连接了。
提示,如果关闭指纹验证的配置不管用,请尝试从 /etc/ssh/ssh_config 目录进行设置

ssh 远程登录显示自定义警告信息

sudo vim etc/ssh/sshd_config

PrintMotd   yes # 设置为 yes

编辑警告信息 vim /etc/motd

警告:你已经登录到一个重要服务器,所有操作将被记录.
            非法操作将依法追究法律责任!!
            请慎重操作!

如果感觉以上字体太单调了,可以查考如下文章,搞一些艺术字进去https://zhuanlan.zhihu.com/p/458159754

更好玩的图案https://github.com/paulkaefer/cowsay-files/blob/main/examples.md

使用ssh实现端口转发

ssh 实现端口转发功能,一般分为三种情况

  • 本地端口转发(-L)

  • 远程端口转发(-R)

  • 动态端口转发(-D)

本地端口转发


本地端口转发,适用于如上所示的网络环境,当攻击机无法直接连接内部服务器时,可以使用跳板机当作通道,实现对内部服务器的访问

ssh -L 8000:server3:22 -fN root@server2

-L表示本地端口转发,-f 选项用于在后台运行 SSH 会话,而 -N 选项用于建立SSH连接但不执行远程命令。

隧道创建完成以后,在攻击机访问 ssh root@127.0.0.1:8000 ,访问的即是 server3:22 端口

远程端口转发

远程端口转发,适用于如上环境,即在跳板机不允许主动连接的情况下,需要在跳板机上,执行远程端口端口转发

ssh -R 9000:server3:22 -fN root@server1

隧道创建完成以后,在攻击机访问 ssh root@127.0.0.1:9000 端口,即可访问 server3:22 端口

动态端口转发

命令

ssh -D 8600 -fN root@server2

此时,所有访问 8600 端口的 socket 都会转发到 server2 上去

拓展知识:==查看公网ip的命令 curl ip.sb ==

参考文献

【五分钟带你了解跳板机和SSH端口转发】 https://www.bilibili.com/video/BV1fm4y1W7VQ/?share_source=copy_web&vd_source=80cf96a12f63a1720dfc645c2eb041c0

posted @ 2023-06-29 02:21  沧海一声笑rush  阅读(65)  评论(0编辑  收藏  举报