腾讯云服务器之ssh远程毗连登录及转发映射端口实现内网穿透(实现服务器访 ...

打印 上一主题 下一主题

主题 556|帖子 556|积分 1668

一、创建密钥绑定实例


   创建密钥会自动下载一个私钥,把这个私钥复制到c盘
  

二、设置私钥权限

   1、删除所有效户权限
  


   2、添加当前用户权限
  检察当前用户名
  1. echo %USERNAME%
复制代码




   如果更改了密钥要实行下面代码
  1. ssh-keygen -R 175.xxx.xxx.154
复制代码
三、ssh远程毗连到服务器

  1. ssh ubuntu@175.xxx.xxx.112 -i C:\Crack\cs2.pem
复制代码
四、修改root暗码

  1. sudo passwd root
  2. su root
复制代码
五、端口转发(实现服务器访问当地电脑的端口)

   当地电脑cmd实行
  1. ssh -R 8080:127.0.0.1:8080 ubuntu@175.xxx.xxx.154  -i C:\Crack\cs2.pem  # 访问服务器的本地端口,即是访问本地电脑的端口
  2. # 或者
  3. # ssh -L 8080:127.0.0.1:8080 ubuntu@175.xxx.xxx.154  -i C:\Crack\cs2.pem  # 访问本地电脑的端口,即是访问服务器localhost的端口
复制代码
  linux实行访问命令
  1. curl http://127.0.0.1:8080/sign
复制代码
  可以看到输出了我在当地电脑搭建的网络响应内容
  

   检察端口绑定信息,linux实行
  1. netstat -tnlp4 | grep 8080
复制代码
  可以看到绑定的只是服务器的当地端口,别人访问服务器公网ip肯定访问不了
  

六、实现公网ip访问当地电脑http服务(即别人通过服务器公网ip即访问你当地电脑网络服务)

   先退出上面端口转发,登录服务器linux实行
  1. su
  2. vim /etc/ssh/sshd_config
复制代码
  找到这个并取消解释改为yes
  

   服务器linux实行命令,重启sshd服务(或者重启服务器也行)
  1. systemctl   stop     sshd
  2. systemctl   start     sshd
复制代码
  打开cmd实行
  1. ssh -R 8080:127.0.0.1:8080 ubuntu@175.xxx.xxx.154  -i C:\Crack\cs2.pem
  2. # ssh -f -N -R 8080:127.0.0.1:8080 root@175.xxx.xxx.154 -i C:\altk.pem  # 后台运行,即关闭cmd窗口也可以
复制代码
  1. netstat -tnlp4 | grep 8080
复制代码

   可以看到绑定了0.0.0.0地址,即别人可以通过公网ip访问到你当地电脑的http服务(记得腾讯云后台防火墙打开端口)
  七、ssh保持长毗连

  1. sudo vim /etc/ssh/sshd_config
复制代码
  修改下面这两个
  1. ClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从而保持连接
  2. ClientAliveCountMax 999999999 #server发出请求后,客户端没有响应得次数达到999999999,就自动断开连接,正常情况下,client不会不响应
复制代码
八、设置若ssh毗连断开则自动重连(包管ssh长期稳固)

   新建一个ssh-tunnel.ps1文件,内里内容如下,若服务器内网穿透的端口无法访问则大概ssh断开毗连了,则需要重连
  1. while ($true) {
  2.     Write-Host "start run!"
  3.     $url = "http://175.xxx.xxx.154:8080/sign"
  4.     $flag = 0
  5.     try {
  6.     $response = Invoke-WebRequest -Uri $url -Method Head -ErrorAction Stop -TimeoutSec 3
  7.     Write-Host "request success! $($response.StatusCode)"
  8. } catch {
  9.     Write-Host "request fail! $url"
  10.     $flag = 1
  11. }
  12.     if ($flag) {
  13.         Write-Host "ssh connect..."
  14.         ssh -R 8080:127.0.0.1:8080 ubuntu@175.xxx.xxx.154 -i C:\tk.pem
  15.                 Write-Host "ssh connect closed!"
  16.     }
  17.     Start-Sleep 6  # 设置重连时间
  18. }
复制代码
  powershell管理员实行ssh-tunnel.ps1文件即可
  1. ./ssh-tunnel.ps1
复制代码
  需要一直打开powershell窗口
  使用下面代码也可以
  1. $maxRetries = 10
  2. $retryCount = 0
  3. while ($retryCount -lt $maxRetries) {
  4.     try {
  5.         Write-Host "Start connect..."
  6.         ssh -R 8080:127.0.0.1:8080 ubuntu@175.xxx.xxx.154 -i C:\tk.pem
  7.         $retryCount = 0
  8.     } catch {
  9.         Write-Host "Connection failed!"
  10.         $retryCount++
  11.     }
  12.     Start-Sleep -Seconds 10   # 重连等待10秒
  13. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表