๐ณ 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 ์๋ฒ๋ฅผ ์ธํ ํ๊ณ ๊ณต๊ฐํค ์ธ์ฆ๊น์ง ์์ฑํ์ต๋๋ค.
์ ๋ง๋ก ๋น ๋ฅด๊ณ ๊น๋ํ๊ฒ ๋๋๋๊ตฐ์.
- 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 ์๋ฒ **


