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