SSH的幾種玩法
得到一臺Linux的伺服器,我們可以進行以下幾種玩法:
先講一講幾個引數:
-f 要求 ssh在執行命令前退至後臺.它用於當ssh準備詢問口令或密語,但是使用者希望它在後臺進行.該選項隱含了-n選項.在遠端機器上啟動
-N 不執行遠端命令.用於轉發埠.
-C 要求進行資料壓縮 (包括stdin, stdout, stderr以及轉發X11和TCP/IP連線 的資料).壓縮演算法和gzip(1)的一樣,協議第一版中,壓縮級別 “level” 用CompressionLevel
-g 允許遠端主機連線本地轉發的埠
-q 安靜模式.消除所有的警告和診斷資訊
-T 禁止分配偽終端
-n 把 stdin重定向到/dev/null (實際上防止從stdin讀取資料). ssh在後臺執行時一定會用到這個選項.它的常用技巧是遠端執行X11程式.
1.用ssh的socks5
原理和S5轉發3389是一樣的,把我們的1090埠連入彈到目標機上去
然後瀏覽器設定代理2090埠,就本地直接訪問內網系統
2.設定反向 SSH 隧道
在內網機器上,執行如下命令,其中1.1.1.1為VPS的IP,執行後需要輸入vpsr的密碼
ssh -fN -R 10022:localhost:80 [email protected] -p [ssh埠號]
然後可以在VPS上執行命令:【我的本地伺服器開啟了nginx服務】
Curl 127.0.0.1:80
3.VPS做轉發
我們需要的不僅僅是自己登陸VPS可以操作內網的機器,我們需要的是任意一臺主機訪問我VPS上的指定埠,然後可以轉發到內網,姿勢如下:
ssh -qTfnN -R :12345:127.0.0.1:80 [email protected] -p [ssh埠號] -o GatewayPorts=yes
【要在/etc/ssh/sshd_config中修改GatewayPorts no為GatewayPorts yes來開啟它才可以進行轉發】
成功代理可以得到內網的東西。