Docker容器中啟用SSH服務的方法步驟
在 Docker 容器中運行 SSH 服務需要一些調整,因為 Docker 容器通常使用 init 系統(tǒng)而不是完整的 systemd。以下是配置 SSH 服務在 Docker Ubuntu 容器中運行的步驟:
1. 安裝 SSH 服務
如果還未安裝 OpenSSH,請先安裝:
apt update apt install openssh-server -y
2. 配置 SSH 服務
編輯 SSH 配置文件,確保服務可以正常啟動。
編輯配置文件:
nano /etc/ssh/sshd_config
檢查以下配置項并修改(如有需要):
禁用 PAM(Docker 容器中推薦):
UsePAM no
允許密碼登錄(如需通過密碼登錄):
PasswordAuthentication yes
保存并退出(Nano 中按 Ctrl+O 保存,Ctrl+X 退出)。
3. 創(chuàng)建 SSH 運行目錄
SSH 服務需要 /run/sshd 目錄。
mkdir -p /run/sshd
4. 啟動 SSH 服務
由于 Docker 容器通常沒有 systemd,需要直接運行 sshd 命令來啟動服務。
/usr/sbin/sshd -D
-D 選項讓 sshd 以前臺模式運行,適合 Docker 容器。
5. 后臺運行 SSH 服務(可選)
如果想讓 SSH 在容器中持續(xù)運行,可以在啟動容器時使用 docker run 命令運行一個附帶 sshd 的入口點腳本。
示例 Dockerfile
FROM ubuntu:latest # 安裝 OpenSSH 服務 RUN apt update && apt install -y openssh-server && mkdir -p /run/sshd # 配置 SSH RUN echo 'root:password' | chpasswd RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config # 啟動 SSH 服務 CMD ["/usr/sbin/sshd", "-D"]
構建和運行容器:
docker build -t ubuntu-ssh . docker run -d -p 2222:22 ubuntu-ssh
這將啟動一個允許通過 SSH 連接的 Docker 容器,并將主機的端口 2222 映射到容器的端口 22。
6. 測試 SSH 連接
使用以下命令從主機連接到容器:
ssh root@localhost -p 2222
輸入之前設置的密碼(如 password),即可登錄到容器中。
7. 注意事項
- 安全性: 不建議在生產環(huán)境中使用密碼登錄,推薦使用密鑰認證。
- 容器保活: 如果需要 SSH 和其他服務同時運行,可使用
supervisord或其他工具管理多個進程。
到此這篇關于Docker容器中啟用SSH服務的方法步驟的文章就介紹到這了,更多相關Docker啟用SSH服務內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用dockercompose搭建springboot-mysql-nginx應用
這篇文章主要介紹了使用dockercompose搭建springboot-mysql-nginx應用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03
docker搭建redis主從哨兵集群的實現(xiàn)步驟
本文主要介紹了docker搭建redis主從哨兵集群的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
macOS上用Docker?Desktop快速部署n8n的完整流程
n8n是一個源代碼開放的低代碼工作流自動化平臺,它將人工智能功能與業(yè)務流程自動化相結合,這篇文章主要介紹了macOS上用Docker?Desktop快速部署n8n的完整流程,需要的朋友可以參考下2025-12-12
docker安裝ElasticSearch:7.8.0集群的詳細教程
這篇文章主要介紹了docker安裝ElasticSearch:7.8.0集群的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03

