腾讯云服务器之ssh远程毗连登录及转发映射端口实现内网穿透(实现服务器访
一、创建密钥绑定实例https://img-blog.csdnimg.cn/direct/98644cbe6e624c23b0d144279fdf61c1.png
创建密钥会自动下载一个私钥,把这个私钥复制到c盘
https://img-blog.csdnimg.cn/direct/9b6872f0011642e4ab5d11d61da9dc1e.png
二、设置私钥权限
1、删除所有效户权限
https://img-blog.csdnimg.cn/direct/2c1b3356ec544c6888bc2b008586bffd.png
https://img-blog.csdnimg.cn/direct/de837999bd88434f9bffe17f79802a76.png
2、添加当前用户权限
检察当前用户名
echo %USERNAME%
https://img-blog.csdnimg.cn/direct/76284d11ff7c4355b9d424771d206621.png
https://img-blog.csdnimg.cn/direct/2ca9f021334d4b028eaf88ce5969ae96.png
https://img-blog.csdnimg.cn/direct/1a8fbf3e652742baa31c125616e767f8.png
https://img-blog.csdnimg.cn/direct/2789055fd8bb49498d877019db13716e.png
如果更改了密钥要实行下面代码
ssh-keygen -R 175.xxx.xxx.154
三、ssh远程毗连到服务器
ssh ubuntu@175.xxx.xxx.112 -i C:\Crack\cs2.pem
四、修改root暗码
sudo passwd root
su root
五、端口转发(实现服务器访问当地电脑的端口)
当地电脑cmd实行
ssh -R 8080:127.0.0.1:8080 ubuntu@175.xxx.xxx.154-i C:\Crack\cs2.pem# 访问服务器的本地端口,即是访问本地电脑的端口
# 或者
# ssh -L 8080:127.0.0.1:8080 ubuntu@175.xxx.xxx.154-i C:\Crack\cs2.pem# 访问本地电脑的端口,即是访问服务器localhost的端口
linux实行访问命令
curl http://127.0.0.1:8080/sign
可以看到输出了我在当地电脑搭建的网络响应内容
https://img-blog.csdnimg.cn/direct/e79806e857c34cec882cfbe698e1c02d.png
检察端口绑定信息,linux实行
netstat -tnlp4 | grep 8080
可以看到绑定的只是服务器的当地端口,别人访问服务器公网ip肯定访问不了
https://img-blog.csdnimg.cn/direct/be95339079c6450f8e4007695c3676c2.png
六、实现公网ip访问当地电脑http服务(即别人通过服务器公网ip即访问你当地电脑网络服务)
先退出上面端口转发,登录服务器linux实行
su
vim /etc/ssh/sshd_config
找到这个并取消解释改为yes
https://img-blog.csdnimg.cn/direct/fb4fbb8c88ce451eb278e0056d8f42ca.png
服务器linux实行命令,重启sshd服务(或者重启服务器也行)
systemctl stop sshd
systemctl start sshd
打开cmd实行
ssh -R 8080:127.0.0.1:8080 ubuntu@175.xxx.xxx.154-i C:\Crack\cs2.pem
# ssh -f -N -R 8080:127.0.0.1:8080 root@175.xxx.xxx.154 -i C:\altk.pem# 后台运行,即关闭cmd窗口也可以
netstat -tnlp4 | grep 8080
https://img-blog.csdnimg.cn/direct/a881cc508cde48e4b0bbfec349f71d8c.png
可以看到绑定了0.0.0.0地址,即别人可以通过公网ip访问到你当地电脑的http服务(记得腾讯云后台防火墙打开端口)
七、ssh保持长毗连
sudo vim /etc/ssh/sshd_config
修改下面这两个
ClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从而保持连接
ClientAliveCountMax 999999999 #server发出请求后,客户端没有响应得次数达到999999999,就自动断开连接,正常情况下,client不会不响应
八、设置若ssh毗连断开则自动重连(包管ssh长期稳固)
新建一个ssh-tunnel.ps1文件,内里内容如下,若服务器内网穿透的端口无法访问则大概ssh断开毗连了,则需要重连
while ($true) {
Write-Host "start run!"
$url = "http://175.xxx.xxx.154:8080/sign"
$flag = 0
try {
$response = Invoke-WebRequest -Uri $url -Method Head -ErrorAction Stop -TimeoutSec 3
Write-Host "request success! $($response.StatusCode)"
} catch {
Write-Host "request fail! $url"
$flag = 1
}
if ($flag) {
Write-Host "ssh connect..."
ssh -R 8080:127.0.0.1:8080 ubuntu@175.xxx.xxx.154 -i C:\tk.pem
Write-Host "ssh connect closed!"
}
Start-Sleep 6# 设置重连时间
}
powershell管理员实行ssh-tunnel.ps1文件即可
./ssh-tunnel.ps1
需要一直打开powershell窗口
使用下面代码也可以
$maxRetries = 10
$retryCount = 0
while ($retryCount -lt $maxRetries) {
try {
Write-Host "Start connect..."
ssh -R 8080:127.0.0.1:8080 ubuntu@175.xxx.xxx.154 -i C:\tk.pem
$retryCount = 0
} catch {
Write-Host "Connection failed!"
$retryCount++
}
Start-Sleep -Seconds 10 # 重连等待10秒
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]