SSH

Kiwoong Nam·2025년 4월 20일

Linux

목록 보기
4/9

SSH란?

Secure Shell의 약자로, 간단히 말해 원격 터미널 접속같은 느낌이다.

WSL에서 SSH 서버 가동하기

OpenSSH 설치

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)로 설정한다.

WSL 포트 포워딩 설정

우선 PowerShell을 관리자 권한으로 실행한다.

netsh interface portproxy add v4tov4 listenport=(외부 포트) listenaddress=(외부 IP 주소) connectport=(SSH 포트) connectaddress=127.0.0.1

아래의 명령어로 잘 되었는지 확인할 수 있다.

netsh interface portproxy show all

SSH 접속하기

ssh (username)@(IP address) [-p (port)]

기본값인 22번 포트를 사용할 경우 -p 옵션은 생략 가능하다.

SSH 통해 파일 전송하기

파일 전송 측의 터미널에서 아래의 명령어를 입력한다.

scp [-P (port)] [-r] (file) (username)@(IP address):(directory)

-P 옵션은 22번이 아닌 다른 포트를 사용할 때, -r 옵션은 디렉토리를 전송할 때(recursive) 사용한다.

0개의 댓글