连接两台VPS的方法有很多,这里我们介绍一种常用的方法:通过SSH隧道进行连接,SSH(Secure Shell)是一种加密的网络传输协议,可以用来在不安全的网络环境中保护数据的安全,通过建立SSH隧道,我们可以在两台VPS之间建立一个安全的连接,从而实现资源共享、远程控制等功能。
创建SSH隧道
1、登录到需要建立SSH隧道的VPS上,打开终端。
2、执行以下命令,生成SSH密钥对(如果已经生成过,可以跳过这一步):
ssh-keygen -t rsa
3、将公钥复制到目标VPS上,以便对方能够通过密钥认证连接,执行以下命令将公钥复制到目标VPS上(请将your_username
替换为实际的用户名,target_ip
替换为目标VPS的IP地址):
ssh-copy-id -i ~/.ssh/id_rsa.pub your_username@target_ip
4、等待对方接受并保存公钥,完成后,你可以在本地机器上使用私钥登录到目标VPS,执行以下命令登录:
ssh your_username@target_ip
5、在目标VPS上执行以下命令,开启SSH服务并设置端口转发:
sudo systemctl start sshd sudo sed -i 's/Port 22/Port 2222/g' /etc/ssh/sshd_config sudo systemctl restart sshd
6、在本地机器上执行以下命令,建立SSH隧道:
ssh -L local_port:target_host:target_port user@target_ip -p target_port
local_port
是本地机器上的端口号,target_host
是目标VPS上的主机名或IP地址,target_port
是目标VPS上的端口号,如果你想在本地机器的8080端口上访问目标VPS的web服务器,可以执行以下命令:
ssh -L 8080:localhost:80 user@target_ip -p 2222
配置防火墙和路由器
1、确保两台VPS的防火墙允许SSH连接,对于iptables,可以执行以下命令开放SSH端口:
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
对于firewalld,可以执行以下命令开放SSH端口:
sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload
2、如果两台VPS位于同一局域网内,还需要在路由器上设置端口转发规则,将外部流量转发到SSH隧道所在的端口,具体设置方法因路由器型号而异,请参考路由器的说明书或在线帮助文档。
测试连接
1、在本地机器上尝试访问目标VPS上的资源,
curl http://localhost:8080/index.html
如果能够正常访问,说明SSH隧道已经成功建立。
相关问题与解答
1、如何修改SSH隧道中的本地端口?在上述步骤中,我们在第6步中指定了本地端口号,要修改本地端口号,只需将命令中的local_port
替换为新的端口号即可,如果想将本地端口改为9090,可以执行以下命令:
ssh -L 9090:localhost:80 user@target_ip -p 2222
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/215717.html