SSH 키를 등록해서 비밀번호 없이 SSH 로그인하기

원격 SSH 서버에 비밀번호 없이 키를 통해 접속하는 방법에 대해 알아보겠다. 간단하지만 실제로 자주 사용한다.

로컬 서버에서 키 생성:

원격서버에 공개키 추가:

이제 로컬서버에서 원격서버로 비밀번호 없이 접속이 가능하다.

SSH를 사용한 터널링, Socks5 프록시 서버 만드는 방법

윈도에서는 SecureCRT, Putty를 사용해서 터널링 기능을 사용했고, OSX, 리눅스에서는 기본적으로 ssh가 있어서 ssh로 터널링 기능을 가끔씩 사용했다.

작업하는 플랫폼에 따라서 통일되지 않아서 윈도에서 Cygwin을 설치해서 ssh를 사용하기로 했다. 즉, 터널링 기능은 ssh를 통해서만 하기로 했다.

이제 ssh를 사용한 터널링에 대해서 알아보겠다.

SOCKS5 프록시 만들기

한 서버에 접속하고, SOCKS5로 1080포트를 여는 예제다. 웹브라우저에서도 이 포트를 통해 웹브라우징이 가능하다.

프록시 서버를 통해 제 3의 서버 접속

위에서 만든 프록시를 사용해서 또 다른 서버로 접속할 수 있는 방법이다.

PC, A서버, B서버가 있다고 가정한다. PC에서 B서버로 직접 접속이 막혀있을 때, A서버를 프록시로 만들어 위의 커맨드로 PC에서 B서버로 접속이 가능한 것이다.

포트포워딩

Local 포트 포워딩

외부로 공개되지 않은 포트에 접속하는 방법이다.

다음은 GUI 도구에서 서버의 MySQL에 접속할 때 사용하는 예제다.

중계서버를 통해 다른 서버의 포트를 포워딩할 수도 있다.

Remote 포트 포워딩

PC에 있는 포트를 원격포트에서 사용할 때 사용하는 방법이다.

다음은 원격서버에서 PC에 있는 mysql에 접근하기 위한 명령이다.

SSH 설정파일 사용하기

위에서 설명한 명령을 매번 입력하기 어렵기 때문에 자주 사용하는 경우는 설정파일을 사용하는 것이 좋다.

설정 파일 도움말:

다음과 같이 설정할 수 있다.