Secure Shell의 약자로, 간단히 말해 원격 터미널 접속같은 느낌이다.
sudo apt remove openssh-server
sudo apt update
sudo apt install openssh-server
sudo service ssh start
sudo systemctl enable ssh
/etc/ssh/sshd_config 에서
PasswordAuthentication yes
로 설정한다.
무조건 필요한 설정인지는 모르겠는데, 본가 데스크탑의 WSL(Ubuntu 20.04)에 접속하려니 이 옵션이 없으면 Permission denied(publickey)라는 오류가 발생했다. 노트북의 WSL이나 라즈베리파이에 접속할 때는 별 문제가 없었다.
Windows Defender 방화벽 설정에서 인바운드 규칙>새 규칙을 누른다. 종류는 포트, 프로토콜 및 포트는 TCP, 특정 로컬 포트(22)로 설정한다.
우선 PowerShell을 관리자 권한으로 실행한다.
netsh interface portproxy add v4tov4 listenport=(외부 포트) listenaddress=(외부 IP 주소) connectport=(SSH 포트) connectaddress=127.0.0.1
아래의 명령어로 잘 되었는지 확인할 수 있다.
netsh interface portproxy show all
ssh (username)@(IP address) [-p (port)]
기본값인 22번 포트를 사용할 경우 -p 옵션은 생략 가능하다.
파일 전송 측의 터미널에서 아래의 명령어를 입력한다.
scp [-P (port)] [-r] (file) (username)@(IP address):(directory)
-P 옵션은 22번이 아닌 다른 포트를 사용할 때, -r 옵션은 디렉토리를 전송할 때(recursive) 사용한다.