basic config
1 | Host dev |
這樣設定好後 ssh dev
就等同於 ssh -p 22000 oalieno@123.45.67.89
IdentityFile
1 | Host dev |
IdentityFile
就是指定要用哪個 key,等同於 -i ~/.ssh/id_rsa
預設會抓 id_*.pub
中最新的 ( /usr/bin/ssh-copy-id
59 行 )
ssh tunnel ( port forwarding )
1 | Host dev |
將 local 的 5555 port 透過 ssh tunnel 對應到 remote 的 6666 port
連線到 local 的 5555 port 等於連線到 remote 的 127.0.0.1 的 6666 port
不一定要用 127.0.0.1 也可以連到 remote 出去的 google.com:80 ( 透過 remote 瀏覽 google.com )
設定好後可以直接打以下指令
1 | ssh -f -N dev |
就會等同於以下指令
1 | ssh -f -N -L 5555:127.0.0.1:6666 oalieno@123.45.67.89 |
reverse ssh tunnel ( reverse port forwarding )
1 | Host dev |
將 remote 的 6666 port 透過 reverse ssh tunnel 對應到 local 的 5555 port
連線到 remote 的 6666 port 等於連線到 local 的 5555 port
不一定要用 127.0.0.1 也可以連到 local 出去的 google.com:80 ( 透過 local 瀏覽 google.com )
設定好後可以直接打以下指令
1 | ssh -f -N dev |
就會等同於以下指令
1 | ssh -f -N -R 6666:127.0.0.1:5555 oalieno@123.45.67.89 |
dynamic port forwarding
1 | Host dev |
設定好後可以直接打以下指令
1 | ssh -f -N dev |
就會等同於打以下指令
1 | ssh -f -N -D 9999 oalieno@123.45.67.89 |
並在電腦上設定 SOCKS 代理伺服器 ( 127.0.0.1:9999
)
之後你可以查找你的 ip 位址 ( https://www.whatismyip.com/ )
會發現你已經跳去 123.45.67.89
autossh
autossh 可以幫你自動重連
1 | Host dev |
設定好後可以直接打以下指令
1 | autossh -M 0 -f -N dev |
就會等同於打以下指令
1 | autossh -M 0 -f -N -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -L 5555:localhost:6666 oalieno@123.45.67.89 |
覺得不夠有時候還是會斷掉的話,或是要在開機時候也要開起來的話,可以再搭配上 crontab 服用
用 crontab 定時執行下面的 shell script
只要沒看到 autossh
這個 process,就再跑一次
搞的好像自己種自己後門一樣
1 |
|
escape sequence
有時候連線斷掉後,畫面就會卡在那裡
這時候就可以直接在鍵盤上打 ~.
這個 escape sequences 就可以直接跳出來啦,感覺像是在逃脫 vim 呢xD
下面還有更多的神秘金手指可以打
1 | Supported escape sequences: |