docker隨筆3 ssh服務

2022-01-29 02:05:51 字數 1374 閱讀 3385

docker映象搭建以後很多時候並不是本機操作而是直接鏈結docke,所以需要ssh服務。

下面是基於ubuntu的操作。

1. 拉取映象並進入容器

docker pull ubuntu:16.04

docker run -it ubuntu /bin/bash

2.檢測是否有ssh服務

sshd  #提示沒有sshd服務

apt-get update #第一次進入拉取的容器需要update,因為源預設是關閉的

apt-get install openssh-server #安裝ssh服務

正常啟動ssh服務,需要目錄/var/run/sshd

mkdir -p /var/run/sshd

/usr/sbin/sshd -d &

檢測ssh的22埠是否被監聽

netstat -tunlp

#提示bash: netstat: command not found

#安裝: apt-get install net-tools

3.修改ssh登入限制,取消pam限制:

注釋:session required pam_loginuid.so

sed -ri '

s/session required pam_loginuid.so/#session required pam_loginuid.so/g

' /etc/pam.d/sshd

4.建立公鑰:

ssh-keygen -t rsa #在宿主機建立公鑰,將其複製

在容器中建立:

vim  /root/.ssh/authorized_keys

並將複製好的宿主公鑰傳入其中。

5.建立開機自動啟動的指令碼。

vim  /run.sh

chmod +x run.sh

run.sh裡面的內容是:

#!/bin/bash 

/usr/sbin/sshd -d

儲存後執行:exit

生成新的映象:

docker commit  9145  sshd/ubuntu  ubuntu

開放埠給外部訪問

docker run -p  100081:22 -d sshd/ubuntu  /run.sh

檢測是否成功:

docker ps

如果沒有的話檢視日誌:

docker logs -f  container_id(容器的id)

3 SSH 伺服器安裝

1.檢視ssh是否安裝 檢查是否裝了ssh包 輸入命令 rpm qa grep ssh 2.安裝ssh 服務 yum install openssh server 3.檢視ssh服務是否正在執行。輸入命令 etc init.d sshd status 4.service sshd start 命令開...

筆記3 ssh層次

sql中 where 子句中用到 and,並且 and後加了括號,表示的意思就是將括號中的當成乙個整體來理解。servletactioncontext.getrequest getparameter name 獲取字串引數。乙個普通的ssh專案大概有3層,dao層,service層,action層,...

Docker為映象新增SSH服務

很多時候使用者希望通過遠端登入伺服器來進行管理,但是docker的很多映象都不支援ssh服務,接下來將會介紹為docker映象新增ssh服務的兩種方法 1.基於commit命令的建立 通過對容器進行ssh的配置,生成乙個新的映象。首先獲取ubuntu 18.04的映象,之後建立乙個名叫ssh的容器 ...