製作可以 SSH 登入的 Docker 映象

2021-09-08 17:40:20 字數 3067 閱讀 1345

docker使用系列一我們把映象源改為了阿里雲的,方便後續的操作。

curl  | sh

第一安裝docker:

yum -y install docker-io
第二 啟動docker:

service docker start

第三安裝製作centos映象的工具:

yum -y install febootstrap
第四 製作centos映象檔案centos6-image目錄

febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim-minimal -i openssh-server -i openssh-clients centos6 centos6-image 

第五製作docker映象,映象名字是centos6-base, 最後的點是必須要的

cd centos6-image && docker build -t centos6-base .

cd centos6-image && tar -c .|docker import - centos6-base  【測試有效】
第六製作可以ssh登陸的docker映象,名字是centos6-ssh

docker build -t centos6-ssh 

經過前面的六個步驟,乙個可以登陸的本地docker映象就製作好了。

使用者名稱是:root,密碼是:123456

體驗步驟:

建立容器:

docker run -d -p 127.0.0.1:33301:22 centos6-ssh

ssh登陸容器:

ssh [email protected] -p 33301

輸入密碼後就可以開始折騰了。

通過授信無密碼登陸

依賴於centos6-ssh映象,製作第三個自動授信的映象centos-newssh。

方法如下:

乙個命令就行了,這條命令會建立乙個新映象centos-newssh

開始體驗,現在不需要輸入root密碼了:

docker run -d -p 127.0.0.1:33306:22 -m 256m centos-newssh

ssh[email protected] -p 33306"echo $lang;ifconfig"

如果不想第一次連線的時候輸入yes,確認連線,可以使用下面的命令:

ssh-o stricthostkeychecking=no [email protected] -p 33306"echo $lang;ifconfig"

體驗完了,我們來分析下

指令碼內容比較簡單,就是生成新的秘鑰和公鑰

ssh-keygen -q -n""-t dsa -f/root/.ssh/id_dsa

然後把公鑰自動加到docker容器中,這裡是修改dockerfile:

echo"run echo \"$key_pub\" > /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys ">>dockerfile

最後建立新的映象:

cd/root&&cat/root/docker-temp/dockerfile| docker build -t centos-newssh -

你可以把/root/docker-temp

資料夾刪除

rm-rf/root/docker-temp

製作可以 SSH 登入的 Docker 映象

時間 2014 04 19 07 42 55 開源中國 原文 主題docker sshlinux docker使用系列一我們把映象源改為了阿里雲的,方便後續的操作。執行這個命令就把源位址改為阿里的 curl docker shell raw start ali centos.sh sh第一安裝doc...

ssh 免簽登入 親測可以

開啟終端檢視是否已經存在ssh金鑰 cd ssh id rsa.pub 2.生成新的秘鑰,命令如下 ssh keygen t rsa c youremail example.com 3將你id rsa.pub的檔案內容考到 遠端機器的 ssh 下的 authorized keys檔案內 你就可已在本...

ssh 登入的方式

ssh的認證方式有很多種,大概可以概括為以下幾類 1.pam認證方式 在配置檔案 etc ssh sshd config中對應引數 usepam 2.金鑰認證方式 配置檔案 etc ssh sshd config中對應引數 rsaauthentication和pubkeyauthentication...