DockerですぐにSFTPサーバを構築したい方は「atmoz/sftp」をお勧めします。
このSFTPサーバはDockerをインストールしている状態であれば、構築時間は1分もあれば完了します。
Dockerのインストールはこちらから
DockerコンテナでSFTPサーバを簡単に構築する手順(atmoz/sftp)
SFTPサーバのコンテナは以下のイメージから作成します。
【GitHub】atmoz/sftp
このSFTPサーバーの構築は公式ページの設定に沿って実行します。
Dockerイメージダウンロード+コンテナ起動
以下コマンドでDockerイメージのダウンロード、コンテナ起動を実施します。
コマンドの内容は以下となります。
- ポート:22番使用
- Dockerイメージ:atmoz/sftp
- ユーザー/パスワード:foo/pass
- アップロードフォルダ:upload
# docker run -p 22:22 -d atmoz/sftp foo:pass:::upload Unable to find image 'atmoz/sftp:latest' locally latest: Pulling from atmoz/sftp e22122b926a1: Pull complete df7e8e13024a: Pull complete 5e2e5786172c: Pull complete 235b2ad99f20: Pull complete 9c74c05cbe4d: Pull complete Digest: sha256:49110a019fb90e9dd869c361702307015f15649282047764e957ecf07eaa2325 Status: Downloaded newer image for atmoz/sftp:latest c64b563185138337418af5576604880ab3e84cefa1e699003111fd6e84e4f3fa
Port22が使用されてエラーとなる場合はポートを変更して実施します。
# docker run -p 2222:22 -d atmoz/sftp foo:pass:::upload
以下コマンドでSFTPイメージがダウンロードされていることを確認
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE atmoz/sftp latest 7381cb94f5bd 23 hours ago 154MB
以下コマンドでコンテナが起動していることが確認できます。
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c64b56318513 atmoz/sftp "/entrypoint foo:pas…" 26 seconds ago Up 24 seconds 0.0.0.0:22->22/tcp heuristic_knuth
Dockerコンテナ(SFTPサーバ)動作確認
実際にSFTPサーバへアクセスします。
ユーザ名は「foo」となるので以下のコマンドでアクセスします。
アクセス後、パスワードを聞かれたら「pass」と入力しエンターをします。
「Connected」の表記が出ればOKです。
# sftp foo@localhost The authenticity of host 'localhost (127.0.0.1)' can't be established. ED25519 key fingerprint is SHA256:jfugvH6XQbC8OBd/NBoBpL05GJVhukplMtJzBUS2lBs. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'localhost' (ED25519) to the list of known hosts. foo@localhost's password: Connected to foo@localhost. sftp>
VMware関連などで以下の指定がある場合
「ECDSA キーの SHA-256 フィンガープリントのみを指定」
上記アクセス時に表示される「fingerprint」を記載します。
SHA256:jfugvH6XQbC8OBd/NBoBpL05GJVhukplMtJzBUS2lBs
外部端末からのアクセス
C:>sftp -oPort="2222" foo@192.168.0.1 foo@10.180.197.140's password: Connected to 10.180.197.140. sftp>
ファイルアップロード先へ移動
このSFTPのファイルアップロード先のフォルダ「upload」に移動します。
sftp> ls upload sftp> cd upload/ sftp> pwd Remote working directory: /upload
SFTPサーバ動作確認(アップロード)
SFTPサーバへファイルをアップロードします。
sftp> cd upload/ sftp> put test.txt Uploading test.txt to /upload/test.txt test.txt 100% 0 0.0KB/s 00:00 sftp> sftp> ls test.txt sftp> quit
SFTPサーバ動作確認(ダウンロード)
SFTPサーバからファイルをダウンロード「します。
sftp> cd upload/ sftp> get test.txt Fetching /upload/test.txt to test.txt sftp> quit [root@CetOS8]# ls test.txt
以上がDockerコンテナ(SFTP)の起動と動作確認となります。
Docker「FTP」サーバの構築は以下の記事を参照
SFTPをすぐに構築したいときは参考にしてください。
Dockerを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す