docker中安裝ssh和vsftp

2021-07-28 13:29:58 字數 2236 閱讀 6319

1、建立容器

docker run --name centos_ssh_ftp --privileged=true -p 10.0.75.1:3222:22 -p 10.0.75.1:3223:3223 -p 10.0.75.1:3224-3299:3224-3299 -v e:/softs:/softs -it centos_ssh

說明:--name centos_ssh_ftp #指定建立的容器的名稱為centos_ssh_ftp

--privileged=true #授權,開啟系統檔案的許可權,比如可以編輯iptables

-p 《宿主ip:宿主埠:容器埠》 #將宿主機的指定埠對映到容器的指定埠,就是子網對外開放的埠,可以多個,也可以設定區間段如,3224-3299,這裡我們把3222對映到容器的22,則外網通過宿主機的3222埠進行ssh連線,其他埠是為vsftpd被動模式準備的

-v 《宿主機目錄:容器目錄》 #將宿主機目錄對映到容器對應目錄,可以直接操作目錄和檔案

-it 《映象名稱》 #以互動模式啟動映象,沒什麼可說的,啟動完後會自動進入容器的root互動終端

2、安裝ssh

先檢視是否已經安裝,看有沒有sshd

chkconfig --list #該命令可以看到本機上的服務和啟動狀態,以後設定服務開機子自啟動也會用到

yum -y

install

openssh-server

安裝完畢,檢視

chkconfig --list

sshd

手動啟動sshd

service sshd start

設定開機自啟動

chkconfig sshd on

檢視是否設定成功,2-5都是on就是設定成功

# chkconfig --

list sshdsshd

0:off

1:off

2:on

3:on

4:on

5:on

6:off

此時在宿主機外通過ssh遠端連線工具遠端到宿主機ip(10.0.75.1

)的埠(3222)應該就可以了

3、安裝vsftpd

檢視是否已經安裝了vsftpd

rpm -aq|grep vsftpd

沒有則安裝

yum -y install vsftpd

新增乙個ftp使用者用來登入

useradd ftp

給ftp使用者新增密碼

passwd ftp

設定ftp使用者的根目錄,先建立目錄/data/ftp

usermod -d /data/ftp ftp

將該目錄的擁有者改為ftp

chown ftp /data/ftp

修改配置檔案

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=no

#不允許匿名登入

ftpd_banner=welcome to ftp service #設定連線伺服器後的歡迎資訊 

max_clients=200 #指明伺服器總的客戶併發連線數為200 

max_per_ip=3 #指明每個客戶機的最大連線數為3 

chroot_local_user=yes  #只能檢視自己的根目錄

listen_port=3223 #設定ftp工作的埠號,預設的為21  這裡改為3223, 如果還是21對映過來,能登入卻取不到目錄

pasv_enable=yes #開啟被動模式

pasv_min_port=3224  #被動模式的最小埠

pasv_max_prot=3299 #被動模式使用的最大埠

pasv_addr_resolve=yes #啟用被動模式的回傳位址

pasv_address=10.0.75.1 #這裡其實就是宿主機的ip

啟動vsftp

service vsftp start

使用ftp連線工具,看是否正確連線,能否建立刪除檔案,是否可以訪問根目錄以外

設定開機自啟動

chkconfig vsftpd on

檢視是否設定成功,2-5都是on就是設定成功

# chkconfig --

list

vsftpd

vsftpd

0:off

1:off

2:on

3:on

4:on

5:on

6:off

docker安裝Ubuntu以及ssh連線

環境 windows10 docker 2.1.0.1 windows的docker安裝就不再多說了,網上有很多教程 在docker的hub倉庫中,有專門的ubuntu系統。我們直接用使用就可以了。docker pull ubuntu docker images docker run name iu...

docker中安裝mysql和Redis

此處的映象倉庫為阿里雲映象倉庫,配置詳見阿里雲映象加速配置 docker pull mysql 5.7sudo docker run p 3306 3306 name mysql v mydata mysql log var log mysql v mydata mysql data var lib...

ssh連線docker中的centos

我們進入容器中 安裝ssh yum y install openssh server啟動ssh服務 systemctl start sshd修改 etc ssh sshd config 配置資訊 去掉如下注釋 port 22 listenaddress 0.0.0.0 listenaddress p...