Linux SSH Server와 Windows 10 SSH Client 연동. 그리고 SCP로 파일 올리는 방법을 설명합니다.
참고) Linux는 기본적으로 SSH Server를 이용할 수 있지만, Windows는 SSH Client를 기본 제공하지 않아 Putty를 설치하여 SSH Client로 사용해 왔습니다.
그러나, Windows 10은 Putty와 같은 별도의 툴을 설치할 필요 없이 내장된 OpenSSH를 통해 SSH Client 기능을 이용할 수 있습니다.
다음의 순서로 진행하시면 Windows에서 Linux로 SSH 방식으로 파일을 업로드 할 수 있습니다
1. Linux에서 SSH 서버 실행 및 SSH 접근 계정 생성
1) Linux에서 SSH 서버 실행
가) ssh 서버 설치
- $sudo apt-get install ssh
나) root 로그인 혀용
- $sudo vi /etc/ssh/sshd_config 진입하여 아래 내용 변경 후 저장
#PermitRootLogin prohibit-password -> PermitRootLogin yes
다) SSH 서버 실행
- $sudo service ssh start
라) SSH 서버 동작 상태 확인
- $service ssh status
2) test_user 계정 추가
가) test_user 계정을 추가하며 홈 디렉토리를 test_user로 지정
- $sudo useradd test_user -d /home/test_user
나) test_user 계정에 password 설정
- $sudo passwd test_user 입력하고 엔터치면 password 입력란이 나온다.
다) 홈 디렉토리인 test_user 폴더 생성
- $sudo mkdir /home/test_user
라) 홈 디렉토리인 test_user 폴더에 대한 권한을 test_user 계정으로 지정
- $sudo chown -R test_user:test_user /home/test_user
2. Windows에서 ssh key를 생성하고 Linux 서버에 public key를 배포하는 과정
1) MS 설명 참고(키를 생성하고, 서버에 public key를 배포한다.)
PowerShell을 이용하는 방법이다.
PowerShell을 이용하는 방법이다.
- https://docs.microsoft.com/ko-kr/windows-server/administration/openssh/openssh_keymanagement
3. Windows에서 Linux로 데이터를 올리는 배치 파일 예
아래의 내용을 배치파일로 실행하면 Windows의 upload_folder 폴더 내용이 서버의 "/home/test_user/20191204/" 폴더에 업로드 된다.
set server=test_user@192.168.0.111
set destiny=/home/test_user/20191204/
set src=./upload_folder
ssh %server% mkdir -p %destiny% && scp -r %src% %server%:%destiny%
위 내용은 개인적으로 검토한 내용이므로 참고만 하시기 바랍니다.
감사합니다.
0 개의 댓글