需要訪問的目標內網伺服器
修改公網主機 b 的 ssh 配置檔案/etc/ssh/sshd_config
gatewayports yes
這樣可以把監聽的埠繫結到任意 ip 0.0.0.0 上,否則只有本機 127.0.0.1 可以訪問。
重啟 sshd 服務
sudo
service sshd restart
在內網主機 a 上,執行以下命令安裝 autossh
yum install autossh #centos
apt-get
install autossh #ubuntu
斷線免密登入自動重連
ssh 反向鏈結會因為超時而關閉,如果關閉了那從外網連通內網的通道就無法維持,為此我們需要結合免密碼登入及 autossh 來提供穩定的 ssh 反向**隧道。
1、在內網主機 a 上產生公鑰和私鑰
ssh-keygen
然後按三次回車執行預設選項生成公鑰和私鑰。會生成金鑰檔案和私鑰檔案 id_rsa,id_rsa.pub 或 id_dsa,id_dsa.pub
2、拷貝秘鑰 在內網主機 a 上繼續執行如下命令,將內網主機 a 上的秘鑰檔案 copy 到公網主機 b 中。
ssh-copy-id username@ip
其中「username」是公網主機 b 的使用者名稱,ip 為公網主機 b 的 ip,然後按照提示輸入公網主機 b 的密碼就完成了。
注意
前提是公網伺服器的22001埠(也可自定義)已經開放,沒有的話先去設定安全組
autossh -m 4010 -nr 22001:localhost:22 username@***.***.***.*** (-p ***x)
引數解釋:
**解釋:
檢視埠情況
lsof -i:4010
在 ubuntu 中我們可以使用 systemd 管理 autossh 的開機啟動問題(舊版本中可以使用 init.d)。配置很簡單,只需要建立乙個/etc/systemd/system/remote-autossh.service
檔案:
[unit]
description=autossh service
for remote tunnel
after=network-online.target
[service]
user=your_username
execstart=/usr/bin/autossh -m 4010 -nr 22001:localhost:22 remote_user@a_a_a_a
[install]
wantedby=multi-user.target #這個target組內的所有服務都會開機自啟,這才是systemctl的關鍵
這樣就建立了乙個remote-autossh
服務,並指定其在網路服務啟動後啟動。可以執行systemctl daemon-reload && systemctl start remote-autossh
立即啟動服務,或者systemctl enable remote-autossh.service
啟動服務並設定為開機啟動。
需要注意的是,配置檔案中的 autossh 命令需要替換為其絕對位址,以及不支援-f
引數。
VirtualBox下Ubuntu更改解析度方法
在windows中用virtualbox v3.0.2 安裝ubuntu v9.0.4 預設按照800 600顯示,可以採用下列方式更改解析度 1 載入vbox的guest additions 2 執行乙個終端 3 執行su 更改到root使用者 如果更改失敗,先啟用root使用者 4 進入 med...
Linux下外網遠端內網 autossh
1 兩台機器生成金鑰檔案 root node1 10 18 06 ssh keygen 直接按 回車鍵 root zabbix 10 19 14 ssh keygen 直接按 回車鍵 2 傳送金鑰檔案 把檢視到的內容 cat root ssh id rsa.pub 複製貼上到 vim root ss...
Ubuntu下firefox中文亂碼的解決辦法
新安裝的ubuntu 9.10裡的firefox瀏覽器顯示flash時會出現中文亂碼問題,其實只是相關的設定有些問題,解決方法如下述 1.查詢49 sansserif.conf配置檔案。cd etc fonts conf.d ls2.備份49 sansserif.conf配置檔案。sudo cp 4...