파일 서버 업로드 (openssh-server, subprocess)
# 내 PC ip 확인
hostname -I
# ssh 22port 방화벽 열기
sudo ufw allow 22/tcp
# ssh 22port 방화벽 차단
sudo ufw deny 22/tcp
# ssh server 설치 (해당 ip 주소로 server 접속)
sudo apt install openssh-server
# /etc/hosts.allow 추가 (특정 ip 접속 차단하려면 삭제)
sshd: <특정 ip 주소>
# /etc/hoswts.deny 나머지 모든 ip 차단
sshd:ALL
#!/usr/bin/env python3
import subprocess
# subprocess 사용해 파일 업로드
# 특정 서버에서 특정 서버로 해당 폴더 내 파일들 모두 복사
from_server = '<hostname>@<ip>'
from_server_pwd = '<password>'
from_folder_path = '~/Pictures/logos'
to_server = '<hostname>@<ip>'
to_server_pwd = '<password>'
to_folder_path = '~/'
subprocess.run(
f'sshpass -p {from_server_pwd} ssh {from_server} "sshpass -p {to_server_pwd} scp -r {from_folder_path} {to_server}:{to_folder_path}"'
, shell=True
)