SSH

시큐어 셸(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. -Wiki

리눅스 개발환경을 구성하다보면 거의 필수적으로 사용하게 되는 ssh(secure shell) 을 구성하는 방법을 알아보자.

SSH 서버 설치

ubuntu 및 osx 에는 기본적으로 ssh client는 설치돼있다. 아래 명령어를 이용해 ssh server를 설치한다.

sudo apt install openssh-server
sudo /etc/ini.d/sshd start # ssh service 시작

SSH 서버 구성

ssh server는 /etc/ssh/sshd_config 경로의 파일을 수정해 서버 설정을 할수있다.

  • ssh client 는~/.ssh/config

포트 변경

#Port 22
Port 8282

기본 ssh port(22) 말고 다른 포트를 사용하고 싶을때 수정한다.
포트번호 수정후엔 ufw allow [Port] 해주는것을 잊지말자

인증방식

원격지에서 ssh 서버로 접근할 때의 인증방식은 기본적으로 패스워드 인증방식을 사용한다.

#PubkeyAuthentication yes # 공개키 인증방식 사용
PasswordAuthentication yes # id, passwd 인증방식 사용 (default) 
HostbasedAuthentication no # 호스트 기반 인증 방식 사용 여부

기타 설정

X11Forwarding no # 원격지에서 X11 포워딩 허용 여부
ListenAddress 0.0.0.0 # server에서 listen할 특정 주소 설정