WSL2(Windows Subsystem for Linux)는 윈도우 환경에서 리눅스를 가볍게 사용할 수 있도록 설계된 기능이다. 하지만 기본적으로 WSL2는 SSH 서버를 자동으로 실행하지 않기 때문에 접속할 때마다 서버를 수동으로 실행해야 하는 번거로움이 있다.
특히, SSH 서버가 꺼져 있을 경우 접속 시 자동으로 서버를 시작하고, 암호 입력 없이 사용할 수 있도록 설정하려면 다음 단계를 따르면 된다.
WSL2에서 SSH 서버 자동 시작 설정
1. SSH 서버 설치
WSL2에 SSH 서버가 설치되어 있는지 확인한다. 설치되어 있지 않다면, 다음 명령어로 설치한다.
sudo apt update
sudo apt install openssh-server
설치 후 SSH 서버를 수동으로 실행하고 상태를 확인한다.
sudo service ssh start
sudo service ssh status
2. sudo 암호 입력 없이 SSH 명령 실행 허용
SSH 서버를 자동으로 실행하려면, sudo
명령을 사용할 때 암호를 입력하지 않도록 설정해야 한다. 이를 위해 sudoers
파일을 수정한다.
참고로 시스템의 기본 편집기를 바꾸고 싶다면 (예를 들어 nano
에서 vi
으로) 아래 명령어를 실행하고, 사용하고자 하는 편집기를 고르면 된다.
sudo update-alternatives --config editor
visudo
명령으로sudoers
파일을 연다.sudo visudo
파일 하단에 다음 줄을 추가한다.
your_username
을 실제 WSL 사용자 이름으로 바꾼다.your_username ALL=(ALL) NOPASSWD: /usr/sbin/service ssh start, /usr/sbin/service ssh status
저장하고 편집기를 종료한다.
이 설정으로 sudo service ssh start
와 sudo service ssh status
명령어를 암호 없이 실행할 수 있게 된다.
3. SSH 서버 상태 확인 및 자동 실행 설정
SSH 서버가 이미 실행 중이라면 중복 실행을 방지하기 위해 상태를 확인한 후 실행하는 조건문을 .bashrc
파일에 추가한다.
.bashrc
파일을 열어 수정한다.vim ~/.bashrc
다음 스크립트를 추가한다.
# SSH 서버 상태를 확인하고, 실행 중이 아니면 시작 if ! sudo /usr/sbin/service ssh status | grep -q "is running"; then sudo /usr/sbin/service ssh start > /dev/null 2>&1 fi
sudo /usr/sbin/service ssh status | grep -q "is running"
: SSH 서버가 실행 중인지 확인한다.sudo /usr/sbin/service ssh start
: 서버가 실행 중이 아니면 시작한다.> /dev/null 2>&1
: 출력 메시지를 숨긴다.
파일을 저장하고 종료한다.
4. 설정 적용 및 테스트
설정을 적용하려면 새 터미널을 열거나 WSL을 다시 시작한다.
wsl -d my_ubuntu
이제 접속 시 SSH 서버가 자동으로 실행되며, 실행 중일 경우 불필요한 작업이 수행되지 않는다.
결론
위 설정을 통해 접속할 때마다 SSH 서버가 자동으로 실행되도록 하고, sudo
명령어에 암호를 입력하지 않아도 되도록 설정할 수 있다. 이 방법은 WSL2 환경을 효율적이고 편리하게 사용할 수 있도록 해준다.
'노트정리 > 리눅스 linux' 카테고리의 다른 글
WSL2에 우분투 설치하기 (Tarball 파일 사용) (0) | 2024.12.02 |
---|---|
쉘(bash shell)에서 귀여운 이모티콘 사용하기 (0) | 2024.08.19 |
ssh 터널링으로 게이트웨이틀 통해 타겟 서버에 접속하기 (0) | 2024.08.17 |
리눅스에서 외장하드 사용할 때 주의할 점 (EDAC sbridge: Failed to register device with error -19 에러 대처법) (0) | 2024.01.31 |
버추얼박스 (Virtual Box) 에서 게스트 디스플레이 자동 조정 활성화 (0) | 2021.02.26 |
맥(mac os)에서 한글파일 unzip 안될 때 (0) | 2020.02.24 |
맥(mac os)에서 여러 그림 파일(jpg 등)을 pdf 파일 하나로 합치는 방법 (0) | 2019.10.24 |
InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version 에러 해결법 (0) | 2019.09.30 |