ํฌ์ŠคํŠธ

๐Ÿณ Docker๋กœ 10๋ถ„ ๋งŒ์— SFTP ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ (๊ณต๊ฐœํ‚ค ์ธ์ฆ)

์ตœ๊ทผ์— ๋กœ์ปฌ Windows ํ™˜๊ฒฝ์—์„œ OpenSSH๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์„ค์ •ํ•˜๋Š” ๋ฐ ๊ฝค ๋งŽ์€ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณค์Šต๋‹ˆ๋‹ค. https://blog.naver.com/devramyun/223831949592

[20250413] Windows์—์„œ OpenSSH SFTP ์„œ๋ฒ„ ๊ตฌ์ถ•๊ณผ WinSCP ๊ณต๊ฐœํ‚ค ๋กœ๊ทธ์ธ ์‹ค์Šต ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Windows 11 ํ™˜๊ฒฝ์—์„œ ๋‚ด์žฅ๋œ OpenSSH Server๋ฅผ ํ™œ์šฉํ•ด SFTP ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , Wiโ€ฆ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Windows 11 ํ™˜๊ฒฝ์—์„œ ๋‚ด์žฅ๋œ OpenSSH Server๋ฅผ ํ™œ์šฉํ•ด SFTP ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , Wiโ€ฆ

ํ•˜์ง€๋งŒ ์ด๋ฒˆ์—” Docker๋กœ ๋‹จ 10๋ถ„ ๋งŒ์— SFTP ์„œ๋ฒ„๋ฅผ ์„ธํŒ…ํ•˜๊ณ  ๊ณต๊ฐœํ‚ค ์ธ์ฆ๊นŒ์ง€ ์™„์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์ •๋ง๋กœ ๋น ๋ฅด๊ณ  ๊น”๋”ํ•˜๊ฒŒ ๋๋‚˜๋”๊ตฐ์š”.

sticker


  • Docker ๊ธฐ๋ฐ˜ Ubuntu ์ปจํ…Œ์ด๋„ˆ์— OpenSSH ์„ค์น˜
  • sftpuser ์‚ฌ์šฉ์ž ๊ณ„์ • ์ƒ์„ฑ ๋ฐ ๊ณต๊ฐœํ‚ค ์ธ์ฆ ์„ค์ •
  • ํ˜ธ์ŠคํŠธ์—์„œ id_rsa.pub ํ‚ค๋ฅผ ์ปจํ…Œ์ด๋„ˆ์— ๋„ฃ๊ณ  ์ธ์ฆ ์—ฐ๊ฒฐ ๊ตฌ์„ฑ
  • PowerShell/CLI์™€ WinSCP ์–‘์ชฝ์—์„œ SFTP ์ ‘์† ํ…Œ์ŠคํŠธ

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

1
2
3
docker-sftp-server/
โ”œโ”€โ”€ Dockerfile
โ”œโ”€โ”€ id_rsa.pub  # ํด๋ผ์ด์–ธํŠธ ๊ณต๊ฐœํ‚ค ๋ณต์‚ฌ๋ณธ


โš™๏ธ Dockerfile ํ•ต์‹ฌ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
FROM ubuntu:22.04

RUN apt-get update && \
    apt-get install -y openssh-server && \
    mkdir /var/run/sshd

RUN useradd -m -u 1000 -s /bin/bash sftpuser && \
    mkdir -p /home/sftpuser/.ssh && \
    chmod 700 /home/sftpuser/.ssh

COPY id_rsa.pub /home/sftpuser/.ssh/authorized_keys
RUN chmod 600 /home/sftpuser/.ssh/authorized_keys && \
    chown -R sftpuser:sftpuser /home/sftpuser/.ssh

RUN sed -i 's/#*PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config && \
    sed -i 's/#*PubkeyAuthentication.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

๐Ÿ› ๏ธ ์‹คํ–‰ ์ ˆ์ฐจ

1
2
3
4
5
6
7
8
9
10
# 0. id_rsa.pub (ssh ํ‚ค) ์Œ์ด ์—†๋‹ค๋ฉด ์ƒ์„ฑ
ssh-keygen -t rsa -b 2048 -f "$env:USERPROFILE\.ssh\id_rsa"

# 1. id_rsa.pub ํŒŒ์ผ์„ Dockerfile ์˜†์— ๋ณต์‚ฌ
cp ~/.ssh/id_rsa.pub ./id_rsa.pub

# 2. ๋นŒ๋“œ ๋ฐ ์‹คํ–‰
cd docker-sftp-server
docker build -t my-sftp-server .
docker run -d -p 2222:22 --name sftp-server my-sftp-server

์—ฌ๊ธฐ๊นŒ์ง€ 5๋ถ„๋„ ์•ˆ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.


๐Ÿ”’ ์ ‘์† ํ…Œ์ŠคํŠธ ** **- PowerShell or CLI

1
sftp -P 2222 sftpuser@localhost

**- WinSCP **

  • ํ”„๋กœํ† ์ฝœ: SFTP
  • ํ˜ธ์ŠคํŠธ: localhost
  • ํฌํŠธ: **2222** โ† ์ด๊ฒƒ์ด ํ•ต์‹ฌ!
  • ์‚ฌ์šฉ์ž: sftpuser
  • Keyfile: C:\Users$env.USERNAME.ssh\id_rsa

์ฒ˜์Œ์—” โ€œ์—ฐ๊ฒฐ์ด ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹คโ€ ์—๋Ÿฌ๊ฐ€ ๋–ด์ง€๋งŒ, ์•Œ๊ณ  ๋ณด๋‹ˆ ํฌํŠธ๋ฅผ 22๋กœ ๋‘๊ณ  ์žˆ์—ˆ๋”๊ตฐ์š” ๐Ÿ˜…



  • **์™ธ๋ถ€์™€ ๊ฒฉ๋ฆฌ๋œ docker ํ™˜๊ฒฝ์—์„œ docker build ํ•œ ๋ฒˆ์— ๋งŒ๋“ค์–ด์ง€๋Š” sftp ์„œ๋ฒ„ **
์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

ยฉ SouthGlory. ์ผ๋ถ€ ๊ถŒ๋ฆฌ ๋ณด์œ 

Powered by Jekyll with Chirpy theme