Linux常用命令

SSH常用命令

端口转发

共用参数

-f

-f 后台认证用户/密码,通常和-N连用,不用登录到远程主机。

-N 不执行脚本或命令,通常与-f连用

本地转发

info

ssh -f -N -L local_port:remote_host:remote_port username@tunnel_host

这句命令需要在本地输入,意思就是在本地打开local_port端口监听,把发送到这个端口的TCP数据包经过tunnel_host之后,发送到remote_host的remote_port上。

远程转发

info

ssh -f -N -R remote_port:local_host:local_port user@tunnel_host

这句命令需要在本地输入,意思是在remote_host(在这里remote_host == tunnel_host)上打开监听remote_port,把传给remote_port的tcp数据转发到本地主机的local_port。

动态转发

之前两种的转发都是指定了转发目的地的端口,那动态转发的意思就是根据数据包的协议动态选择转发的目的端口。多用于翻墙。

info

ssh -N -f -D 1080 user@remote_host #将端口绑定在127.0.0.1:1080上

ssh -N -f -D 0.0.0.0:1080 user@remote_host # 将端口绑定在0.0.0.0:1080上

X转发

X转发就是说通过ssh转发X11协议的数据,简单的说就是直接在本地运行远程的带有GUI的程序。

打开X转发需要保证/etc/ssh/sshd_config(配置文件的路径随不同linux发行版有可能会发生改变)钟的X11Forwarding是yes的。

info

ssh –X user@remote_host