亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker部署常見應用之SFTP服務器詳解

 更新時間:2025年06月27日 14:14:57   作者:weixin_44585288  
這篇文章主要介紹了Docker部署常見應用之SFTP服務器,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

簡介

atmoz/sftp 是一個基于 Docker 的 SFTP 服務鏡像,它使用 OpenSSH 來提供 SFTP 服務。

這個鏡像支持創(chuàng)建單個或多個用戶的 SFTP 訪問,并允許用戶通過 SFTP 協(xié)議安全地共享文件。

它是一個輕量級的解決方案,可以快速部署 SFTP 服務器.使用時,可以通過 Docker 命令行參數(shù)來指定 SFTP 用戶名、密碼和上傳目錄等配置。

Dockers部署

單用戶

以下是使用Docker部署atmoz/sftp服務的一般步驟:

安裝Docker:確保你的系統(tǒng)上已經(jīng)安裝了Docker。

拉取Docker鏡像:使用以下命令從Docker Hub拉取atmoz/sftp鏡像:

sudo docker pull atmoz/sftp

創(chuàng)建文件掛載目錄

sudo mkdir /data/docker/atmoz/upload

啟動Docker容器

使用以下命令啟動SFTP服務器,允許用戶foo通過密碼pass訪問,并且可以操作宿主機上/data/atmoz/upload目錄中的內容。同時,SFTP服務將在后臺運行,并且可以通過宿主機的2222端口進行訪問。:

sudo docker run \
 -d \
 --name atmoz-sftp-server \
 -p 2222:22 \
 -v /data/docker/atmoz/upload:/home/foo/upload \
 atmoz/sftp foo:pass:1001

這條docker run命令是用來啟動一個名為atmoz/sftp的Docker容器,它將作為一個SFTP服務器運行。

下面是命令各部分的解釋:

綜上所述,這條命令的作用是啟動一個SFTP服務器,允許用戶foo通過密碼pass訪問,并且可以操作宿主機上/data/atmoz/upload目錄中的內容。同時,SFTP服務將在后臺運行,并且可以通過宿主機的2222端口進行訪問。

  • docker run: Docker命令,用于創(chuàng)建并啟動一個新的容器實例。
  • -d: 表示以"detached"模式運行容器,即在后臺運行。
  • --name atmoz-sftp-server: 指定容器的名稱為atmoz-sftp-server。
  • -p 2222:22: 端口映射參數(shù),將容器內部的22端口映射到宿主機的2222端口。這樣,外部可以通過宿主機的2222端口來訪問容器內的SFTP服務。
  • -v /data/atmoz/upload:/home/foo/upload: 卷掛載參數(shù),將宿主機的/data/atmoz/upload目錄掛載到容器內的/home/foo/upload目錄。這允許SFTP用戶foo訪問和操作宿主機上指定的目錄。
  • atmoz/sftp: 指定要運行的Docker鏡像名稱。
  • foo:pass:1001: 這是傳遞給容器的參數(shù),用于設置SFTP用戶的信息。格式通常為用戶名:密碼:UID。在這個例子中:
  • foo是SFTP用戶的用戶名。
  • pass是該用戶的密碼。
  • 1001是該用戶的用戶ID(UID),在Linux系統(tǒng)中用于標識用戶。

連接到SFTP服務器

使用SFTP客戶端連接到你的SFTP服務器。例如,使用命令行工具sftp

sftp -P 2222 foo@atmoz-sftp-server-ip

這里atmoz-sftp-server-ip 容器所在服務器的IP地址。密碼為pass。

多用戶

創(chuàng)建配置文件

/data/atmoz/conf 目錄下創(chuàng)建配置文件user.sconf

創(chuàng)建配置文件目錄

sudo mkdir /data/docker/atmoz/conf

創(chuàng)建users.conf文件, 增加下面內容:

foo:123:1001:100
bar:abc:1002:100
baz:xyz:1003:100

啟動容器

sudo docker run \
 -d \
 --name atmoz-sftp-server \
 --privileged=true \
 -p 2222:22 \
 -v mySftpVolume:/home \
 -v /data/docker/atmoz/config/users.conf:/etc/sftp/users.conf:ro \
 atmoz/sftp

注意 -v mySftpVolume:/home 會在自動生成mySftpVolume 目錄。 此處不能自定義目錄, 自定義目錄無法登錄。

用戶信息加密

crypt加密

命令行運行以下命令, 對密碼加密,

python -c "import crypt; print(crypt.crypt('YOUR_PASSWORD'))"

這里YOUR_PASSWORD替換為你的密碼

啟動容器

sudo docker run \
  -d \
  --name atmoz-sftp-server \
  -p 2222:22 \
  -v /data/docker/atmoz/upload:/home/foo/upload \
  atmoz/sftp \
  'foo:<encrypted-password>:e:1001'

<encrypted-password>替換為加密后的密碼。

注意: :e 表示前面為加密密碼, 同時'<user>:<encrypted-password>:e:1001'要用單引號括起來。

使用SSH密鑰認證

生成密鑰

  • 以下命令生成密鑰
# 密鑰存放創(chuàng)建目錄
sudo mkdir -p /data/docker/atmoz/ssh
# 生成密鑰
sudo ssh-keygen -t rsa -b 4096 -f /data/docker/atmoz/ssh/my_rsa_key
  • 使用ssh-keygen命令生成了一個4096位的RSA密鑰對,密鑰文件將被存儲在/data/docker/atmoz/ssh/my_rsa_key。
  • 生成密鑰時需要輸入密碼,這個密碼用于保護私鑰文件。

啟動容器

sudo docker run \
  -d \
  --name atmoz-sftp-server \
  -p 2222:22 \
  -v /data/docker/atmoz/ssh/my_rsa_key.pub:/home/foo/.ssh/keys/my_rsa_key.pub:ro \
  -v /data/docker/atmoz/upload:/home/foo/upload \
  atmoz/sftp \
  foo::1001
  • 使用docker run命令啟動了一個名為atmoz-sftp-server的容器,映射了容器的22端口到宿主機的2222端口。
  • 將公鑰文件掛載到容器內的/home/foo/.ssh/keys/my_rsa_key.pub路徑,這樣容器就可以使用這個公鑰來驗證客戶端的私鑰。
  • 還掛載了宿主機的/data/docker/atmoz/upload目錄到容器的/home/foo/upload目錄,用于文件的上傳和下載。
  • atmoz/sftp是使用的Docker鏡像名稱,foo::1001是指定的SFTP用戶及其所屬組ID。

連接到SFTP服務器

sftp -i /path/to/your/private_key -P 2222 foo@atmoz-sftp-server-ip
  • 使用sftp命令登錄到SFTP服務器,-i選項指定了私鑰文件的路徑,foo是SFTP服務器上的用戶名,atmoz-sftp-server-ip是容器所在服務器的IP地址。
  • 需要將/path/to/your/private_key替換為實際的私鑰文件路徑。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Docker中進行線上問題排查常用的19個命令

    Docker中進行線上問題排查常用的19個命令

    這篇文章主要為大家詳細介紹了19個Docker線上問題排查的常用命令和工具,掌握這些命令和工具都能顯著提升你的問題排查效率,快跟隨小編一起學習一下吧
    2025-05-05
  • docker python如何實現(xiàn)打包的方法

    docker python如何實現(xiàn)打包的方法

    這篇文章主要介紹了docker 打包python實現(xiàn)方法的相關資料,這里說明如今實現(xiàn),需要的朋友可以參考下
    2016-12-12
  • 詳解Docker掛載本地目錄

    詳解Docker掛載本地目錄

    這篇文章主要介紹了詳解Docker掛載本地目錄,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Docker中Nginx反向代理的實現(xiàn)步驟

    Docker中Nginx反向代理的實現(xiàn)步驟

    為了安全考慮,我們一般會設置反向代理,用來屏蔽應用程序真實的IP和端口號,本文主要介紹了Docker中Nginx反向代理的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • docker數(shù)據(jù)卷容器掛載不上的解決方法

    docker數(shù)據(jù)卷容器掛載不上的解決方法

    docker容器之間可以通過相互掛載實現(xiàn)數(shù)據(jù)共享,本文主要介紹了docker數(shù)據(jù)卷容器掛載不上的解決方法,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • docker目錄和本地目錄互通的實現(xiàn)

    docker目錄和本地目錄互通的實現(xiàn)

    本文介紹了如何實現(xiàn)Docker目錄和本地目錄互通,通過這種方式,可以輕松地在Docker容器和本地文件系統(tǒng)之間共享數(shù)據(jù),感興趣的可以了解一下
    2023-08-08
  • 聊聊docker跨主機之間容器通信問題

    聊聊docker跨主機之間容器通信問題

    這篇文章主要介紹了docker跨主機之間容器通信問題,創(chuàng)建網(wǎng)橋之后,使用ifconfig查看會多出一個網(wǎng)橋,該網(wǎng)橋在docker啟動或者重啟之后,會自動顯示出來,具體實踐跟隨小編一起看看吧
    2022-05-05
  • docker 容器網(wǎng)絡模式詳解

    docker 容器網(wǎng)絡模式詳解

    這篇文章主要為大家介紹了docker 容器網(wǎng)絡模式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • 阿里云esc服務器Docker部署單節(jié)點Mysql的講解

    阿里云esc服務器Docker部署單節(jié)點Mysql的講解

    今天小編就為大家分享一篇關于阿里云esc服務器Docker部署單節(jié)點Mysql的講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • docker容器commit打包越來越大的原因分析及解決

    docker容器commit打包越來越大的原因分析及解決

    文章介紹了Docker容器打包變大的原因,并提供了解決方法,具體步驟包括使用export命令導出容器,然后使用import命令導入鏡像,最后將鏡像展開成容器,這種方法可以有效減少鏡像文件的大小,避免因Docker鏡像層的概念導致的文件膨脹問題
    2025-03-03

最新評論