主機訪問伺服器相關的設定
本地主機通過阿里雲伺服器訪問遠端實驗室中的伺服器的方法:
前提:購買阿里雲伺服器,阿里雲對學生有9.9元購買一個月的伺服器的優惠。
定義:
實驗室伺服器的ip為A.A.A.A,使用者名稱為lab
阿里雲伺服器的ip為B.B.B.B,使用者名稱為root
阿里雲伺服器上遠端轉發到實驗室伺服器的埠為2222(可以更換)
阿里雲伺服器上本地轉發到2222埠的埠為3333(可以更換)
步驟:
1. 在實驗室的伺服器中執行命令ssh -fCNR 2222:127.0.0.1:22
2. 在阿里雲伺服器中執行命令ssh -fCNL *:3333:127.0.0.1:2222 127.0.0.1
3. 在阿里雲管理網頁開放埠3333的入口許可權
4. 在本地主機中執行命令ssh -p 3333 [email protected]
done.
=====================================================================
使用阿里雲作為中間伺服器達到從外網訪問內網伺服器遇到的問題:
1. 在使用了正向代理後,總是發現從本地無法訪問伺服器的指定埠,問題出現在輸入ssh命令後沒有反映:
其實阿里雲伺服器對埠訪問做了限制,預設設定下,阿里雲伺服器只有22埠一個訪問入口,所以為了使用其他埠作為對映,需要在阿里雲伺服器管理網頁下設定多幾組訪問入口。
2. 設定好正向代理後,發現還是沒有辦法訪問阿里雲伺服器,這次問題出現在輸入命令後報錯Connection refused:
之所以出現這種錯誤是因為我在查詢資料時看到ssh遠端埠轉發的用法是ssh -R [bind_address:]port:host:hostport hostname,所以直接把bind_address忽略了,所以被阿里雲伺服器拒絕,只要用以下語句就可以解決這個問題:ssh -R *:port:host:hostport hostname。
3. 在阿里雲伺服器上使用ssh埠轉發(ssh -R..)時,報錯bind: Cannot assign requested address:
這個問題不是一定會出現的,但是如果出現了可以嘗試在ssh後加'-4'選項。