用Dockerfile配置SSH遠(yuǎn)端登陸ubuntu

文件目錄結(jié)構(gòu):

(1).authorized_keys(rsa秘鑰)文件由mac 終端生成

(2).run.sh 啟動ssh服務(wù)的shell腳本文件

#!/bin/bash
/usr/sbin/sshd -D

第一行代表指令運(yùn)行需要的環(huán)境

Dockerfile代碼:

FROM ubuntu
MAINTAINER “niwanglongSshUbuntu”
#apt-get 換源
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update

#安裝SSH服務(wù)
RUN apt-get install -y openssh-server
RUN mkdir -p /var/run/sshd
RUN mkdir -p /root/.ssh

#配置SSH
#設(shè)置ssh遠(yuǎn)程登陸密碼
RUN echo "root:123456" | chpasswd
RUN sed -ri 's/^PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config  
RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config  

#復(fù)制Rsa文件到相應(yīng)位置,并賦予腳本可執(zhí)行權(quán)限
ADD authorized_keys /root/.ssh/authorized_keys
ADD run.sh /run.sh
RUN chmod 755 /run.sh

#開放端口
EXPOSE 22

#設(shè)置自啟動命令
CMD ["/bin/bash","/run.sh"]

dokcer build 后,運(yùn)行容器即可。不懂的可以看下我寧外一篇文章,Docker 配置前端開發(fā)環(huán)境實(shí)戰(zhàn)

Paste_Image.png

在mac下輸入dockerfile 設(shè)置的root密碼即可登錄了。

遇到的問題


1.提示遠(yuǎn)端rsa秘鑰已改變

刪除/users/yixinmac/.ssh目錄下的文件,然后重新生成rsa秘鑰,再build新的配置鏡像,當(dāng)然你也可以進(jìn)入容器替換掉/root/.ssh/authorized_keys目錄下的秘鑰文件再重啟ssh服務(wù)即可。這里得力于docker的聯(lián)合文件系統(tǒng),舊鏡像存在的情況下,我們可以快速的再新建新的鏡像。
docker build -t registry:tag .走起

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容