Yk2eR0's Blog.

qemu常用网络命令:SSH代理和SCP

字数统计: 743阅读时长: 3 min
2021/01/22 Share
  • 正向代理(-L) 相当于iptable的port forwarding
  • 反向代理(-R) 相当于frp或ngrok
  • socks5代理(-D):相当于ss/ssr

正向代理:

所谓”正向代理”就是在本地启动端口,把本地端口数据转发到远端

  1. 远程端口映射到其它机器
    HostB上启动一个PortB端口,映射到HostC:PortC上,在HostB上运行:
    1
    HostB$ ssh -L 0.0.0.0:PortB:HostC:PortC C中的user@HostC

此时登录HostB:PostB相当于登录HostC:PostC.
2. 本地端口通过跳板映射到其他机器
HostA 上启动一个 PortA 端口,通过 HostB 转发到 HostC:PortC上,在 HostA 上运行:

1
2

HostA$ ssh -L 0.0.0.0:PortA:HostC:PortC user@HostB

这时访问HostA:PortA相当于访问HostC:PortC.
两种用法区别是:一个是明文到跳板机再加密,一个是A可以当请求者,自身直接加密后传输给跳板机.

反向代理

所谓“反向代理”就是让远端启动端口,把远端端口数据转发到本地。
HostA 将自己可以访问的 HostB:PortB 暴露给外网服务器 HostC:PortC,在 HostA 上运行:

1
HostA ssh -R HostC:PortC:HostB:PortB user@HostC

那么链接HostC:PortC就相当于链接HostB:PortB.使用时需修改HostC的/etc/ssh/sshd_config,添加:
GatewayPorts yes
相当于内网穿透,比如 HostA 和 HostB 是同一个内网下的两台可以互相访问的机器,HostC是外网跳板机,HostC不能访问 HostA,但是 HostA 可以访问 HostC。
那么通过在内网 HostA 上运行 ssh -R 告诉 HostC,创建 PortC 端口监听,把该端口所有数据转发给我(HostA),我会再转发给同一个内网下的 HostB:PortB。

同内网下的 HostA/HostB 也可以是同一台机器,换句话说就是内网 HostA 把自己可以访问的端口暴露给了外网 HostC

本地socks5代理

在HostA的本地1080端口启动一个socks5服务,通过本地socks5代理的数据会通过ssh链接先发送给HostB,再从HostB发送给远程主机:
HostA$ ssh -D localhost:1080 HostB
优化:
ssh -CqTnN -L 0.0.0.0:PortA:HostC:PortC user@HostB

其中 -C 为压缩数据,-q 安静模式,-T 禁止远程分配终端,-n 关闭标准输入,-N 不执行远程命令。此外视需要还可以增加 -f 参数,把 ssh 放到后台运行。

那么在 HostA 上面,浏览器配置 socks5 代理为 127.0.0.1:1080,看网页时就能把数据通过 HostB 代理出去,类似 ss/ssr 版本,只不过用 ssh 来实现。

SCP

从本地到远程

1
2
3
4
5
6
7
scp local_file remote_username@remote_ip:remote_folder 
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file

复制目录命令格式

1
2
3
4

scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder

从远程复制到本地

1
2
3

scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/

用-P指定端口号

参考文章

SSH 命令的三种代理功能(-L/-R/-D)

原文作者:Yk2eR0

原文链接:https://www.yk2er0.fun/2021/01/22/net/

发表日期:January 22nd 2021, 9:09:28 pm

更新日期:April 5th 2021, 11:46:56 am

版权声明:非商业用允许转载

CATALOG
  1. 1. 正向代理:
  2. 2. 反向代理
  3. 3. 本地socks5代理
  • SCP
    1. 1. 从本地到远程
    2. 2. 复制目录命令格式
    3. 3. 从远程复制到本地
  • 参考文章