远程转发记录

一、首先看看通过powershell远程连接linux

 ssh user@ip -p 端口

user代表远程电脑的用户名
ip代表远程电脑的ip
-p指定端口(如更改了ssh的端口)
在这里插入图片描述

二、通过SSH做端口转发

ssh -R 0.0.0.0:8383:localhost:4321 root@公网ip -p 公网端口

ssh -R 0.0.0.0:8383:localhost:8080 root@... -p27701

localhost:4321 -----------本地的ip及需要访问的端口
0.0.0.0:8383 ---------远程的ip及地址
root@公网ip -p 公网端口 ----相当于正常登录ssh

参数具体含义如下:

-q: quiet模式,忽视大部分的警告和诊断信息(比如端口转发时的各种连接错误)

-T: 禁用tty分配(pseudo-terminal allocation)

-f: 登录成功后即转为后台任务执行

-N: 不执行远程命令(专门做端口转发)

-n: 重定向stdin为/dev/null,用于配合-f后台任务

-C: 开启压缩

常见问题
如果你遇到通过以上方法成功启动 SSH 隧道后,还是无法访问 12.34.56.78:8080,那么很有可能是外网服务器上的 SSH 没有配置对。为此你需要去外网服务器上修改 /etc/ssh/sshd_config 文件如下:

GatewayPorts yes //很重要

这个选项的意思是,SSH 隧道监听的服务的 IP 是对外开放的 0.0.0.0,而不是只对本机的 127.0.0.1。不开 GatewayPorts 的后果是不能通过 12.34.56.78:8080 访问,只能在外网服务器上通过 127.0.0.1:8080 服务到本地开发机的服务。

修改好配置文件后,你还需要重启 sshd 服务来加载新的配置,命令如下:

service sshd restart

如果使用以上方法还是无法访问 12.34.56.78:8080,请检查你外网服务器的防火墙配置,确保 8080 端口是对外开放的。

登录ssh出现 Permission denied, please try again 这是因为之前ssh登录保存了信息,服务器密码或者什么发生了变更。
解决办法:C:\Users\MSI-NB\.ssh\known_hosts 删除掉历史配置信息就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值