Docker容器實現(xiàn)SSH遠程直連
在某些特殊需求下,我們想ssh直接遠程連接docker 容器,下面我們介紹結(jié)合cpolar工具實現(xiàn)ssh遠程直接連接docker容器
1. 下載docker鏡像
本文下載一個tomcat鏡像為例子,輸入命令拉取tomcat鏡像:
docker pull tomcat
我們下載的是tomcat鏡像,tomcat端口容器內(nèi)部默認是8080,我們把tomcat容器內(nèi)部端口映射到宿主機的8088端口上,運行鏡像容器,
docker run -it -d -p8088:8080 tomcat /bin/bash
運行后查看一下正在運行的容器
docker ps -a
可以看到已經(jīng)運行了,同時也看到了容器ID
2. 安裝ssh服務
進入容器
docker exec -it 容器ID /bin/bash
進入容器后,我們安裝ssh服務,首先更新包管理器
apt-get update
安裝ssh服務
apt-get install openssh-server
安裝文件編輯器 vim
apt-get install vim
設置SSH登錄密碼,第一次是設置密碼,第二次是確認密碼,輸入兩次
passwd
修改配置文件
vim /etc/ssh/sshd_config
需要修改兩個地方:
第一:把ssh 服務默認的22端口設置為與容器服務的端口一致,如我們是tomcat容器,就設置為8080,因為我們運行容器的時候掛載的是內(nèi)部的8080端口映射到宿主機的8088端口,所以需要和容器內(nèi)部端口保持一致,
第二:將 PermitRootLogin prohibit-password
修改為 PermitRootLogin yes
,開啟使用密碼登錄,設置完成后保存退出
修改完成后,重啟ssh服務
service ssh restart
3. 本地局域網(wǎng)測試
上面我們設置完成了在容器內(nèi)部安裝了ssh服務,現(xiàn)在進行局域網(wǎng)測試連接,用戶名默認是root,端口號這里需要輸入我們映射到宿主機的8088端口
ssh -p 8088 root@192.168.10.125
登錄過程中需要輸入密碼,即上面設置的密碼,成功后,可以看到我們成功進入了容器內(nèi)部
4. 安裝cpolar
安裝cpolar我們在宿主機安裝,不需要進入容器內(nèi)部安裝
使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
向系統(tǒng)添加服務
sudo systemctl enable cpolar
啟動cpolar服務
sudo systemctl start cpolar
5. 配置公網(wǎng)訪問地址
成功啟動cpolar服務后,我們在瀏覽器上訪問Linux局域網(wǎng)ip地址+9200端口,登錄cpolar web UI管理界面。
cpolar官網(wǎng)地址: https://www.cpolar.com
登錄成功后,點擊左側(cè)儀表盤的隧道管理——創(chuàng)建隧道:
隧道名稱:可自定義,注意不要與已有的隧道名稱重復協(xié)議:tcp本地地址:8088域名類型:臨時隨機TCP端口地區(qū):選擇China VIP
點擊 創(chuàng)建
然后打開左側(cè)在線隧道列表,查看剛剛創(chuàng)建隧道后生成的tcp連接的公網(wǎng)地址
6. SSH公網(wǎng)遠程連接測試
使用ssh 命令行連接模式,注意,-p后面的端口是cpolar中生成的公網(wǎng)地址對應的端口
ssh -p 端口 root@公網(wǎng)地址
執(zhí)行后,我們可以看到成功進入容器,這樣ssh 遠程直接連接docker容器就設置好了
7.固定連接公網(wǎng)地址
要注意的是,以上步驟使用的是隨機臨時tcp端口地址,所生成的公網(wǎng)地址為隨機臨時地址,該公網(wǎng)地址24小時內(nèi)會隨機變化。我們接下來為其配置固定的TCP端口地址,該地址不會變化,設置后將無需每天重復修改地址。
配置固定tcp端口地址需要將cpolar升級到專業(yè)版套餐或以上。
保留一個固定tcp地址
登錄cpolar官網(wǎng),點擊左側(cè)的預留,找到保留的tcp地址,我們來為我的世界保留一個固定tcp地址:
地區(qū):選擇China vip描述:即備注,可自定義
點擊 保留
地址保留成功后,系統(tǒng)會生成相應的固定公網(wǎng)地址,將其復制下來
打開cpolar web ui管理界面,點擊左側(cè)儀表盤的隧道管理——隧道列表,找到我們上面創(chuàng)建的TCP隧道,點擊右側(cè)的 編輯
修改隧道信息,將保留成功的固定tcp地址配置到隧道中
端口類型:修改為固定tcp端口預留的tcp地址:填寫官網(wǎng)保留成功的地址,
點擊 更新
隧道更新成功后,點擊左側(cè)儀表盤的狀態(tài)——在線隧道列表,可以看到公網(wǎng)地址已經(jīng)更新成為了固定tcp地址。
8. SSH固定地址連接測試
輸入ssh 連接命令,使用我們上面的公網(wǎng)地址和端口,我們可以看到,連接成功,固定ssh遠程直接連接docker容器就設置好了
到此這篇關(guān)于Docker容器實現(xiàn)SSH遠程直連的文章就介紹到這了,更多相關(guān)Docker SSH遠程直連內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker使用Jumpserver搭建一個安全的堡壘機系統(tǒng)
堡壘機作為一種重要的安全工具,能夠有效地管理服務器訪問權(quán)限,并提供會話審計功能,以保障系統(tǒng)的安全性和穩(wěn)定性,本文將介紹Jumpserver,并指導如何搭建和配置Jumpserver來實現(xiàn)安全的堡壘機管理,需要的朋友可以參考下2025-04-04在CentOS啟動時自動加載內(nèi)核模塊overlayfs操作
這篇文章主要介紹了在CentOS啟動時自動加載內(nèi)核模塊overlayfs操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11使用Jenkins+docker打包部署后端服務的實現(xiàn)
本文主要介紹了使用Jenkins+docker打包部署后端服務的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08關(guān)于docker啟動jenkins環(huán)境的問題
這篇文章主要介紹了docker啟動jenkins環(huán)境的問題,文中提到了jenkins基本工作原理及管理員密碼獲取方法,對docker啟動jenkins環(huán)境相關(guān)知識感興趣的朋友一起看看吧2022-04-04Docker安裝方法與Docker四種網(wǎng)絡模式詳解
今天小編就為大家分享一篇關(guān)于Docker安裝方法與Docker四種網(wǎng)絡模式的詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-09-09