Linux下使用ssh远程登录服务器

时间:2022-07-08 23:15:43

如果自己的服务器是在内网,想在外网通过ssh在自己的VPS服务器上远程登录自己的内网服务器,可以按照如下操作:

一、在自己的服务器上使用如下命令:

#ssh -CfnNT -R 端口A:localhost:端口B VPSIP -p 端口C -l root

端口A是你VPS上已经可以使用的端口,也就是没有被其它占用的端口
端口B是你服务器上的ssh的端口,默认的是22
端口C是你VPS上的ssh的端口
root是你VPS的根用户

假设端口A为5000,端口B是22,端口C是3000,VPS服务器的IP是123.123.123.123

那么上面的命令就是
#ssh -CfnNT -R 5000:localhost:22 123.123.123.123 -p 3000 -l root

这条命令的作用是将内网服务器的22端口映射到你的VPS服务器的5000端口上

上面命令的3000端口其实与映射端口无关,只是执行这条命令需要用到ssh连接到你的VPS服务器,而VPS服务器的ssh对外可用的端口是3000

在内网的服务器输入上面的命令后,需要输入你的VPS服务器的root用户的密码,然后就完成端口映射了。

二、然后登录到自己的VPS

在自己的VPS服务器上登录内网服务器,登录命令是ssh -p 5000 root@localhost,按照提示输入自己的内网服务器的root用户的密码就OK了

附:Centos查看端口占用情况和开启端口命令
Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令:
lsof -i tcp:80
列出所有端口
netstat -ntlp
1、开启端口(以80端口为例)
方法一:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改
/etc/init.d/iptables save 保存修改
service iptables restart 重启防火墙,修改生效
方法二:
vi /etc/sysconfig/iptables 打开配置文件加入如下语句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 重启防火墙,修改完成
2、关闭端口
方法一:
/sbin/iptables -I INPUT -p tcp --dport 80 -j DROP 写入修改
/etc/init.d/iptables save 保存修改
service iptables restart 重启防火墙,修改生效
方法二:
vi /etc/sysconfig/iptables 打开配置文件加入如下语句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP 重启防火墙,修改完成
3、查看端口状态
/etc/init.d/iptables status