Putty로 ssh 접속을 할 때마다 아이디와 비밀번호를 입력해야하는 번거로움이 있음
이 번거로움을 원격 접속을 할 환경(여기서는 Linux)에서 RSA키를 생성하고 이를 접속을 시도하는 PC(여기서는 Window)의 putty에 등록하여 사용
기존에 putty를 사용해 ssh로 붙은 사람들에게 도움이 될 정보이고, 처음 putty를 사용하는 사람들의 경우 일단 putty로 ssh 접속을 성공하고 다시 보는 것을 추천한다.
Step 1. 준비물
준비물은 puttygen, putty, ssh로 붙으려는 리눅스, putty ssh 접속 성공
Step 2. RSA 키 생성
$ ssg-keygen -t rsa
위의 명령어를 리눅스에서 실행시켜 RSA 키를 생성한다.
중간에 passpgrase와 file의 경로를 입력하라고 하는데 모두 빈칸으로 엔터만 눌러주어도 된다.
Step 3. RSA 키가 생성된 폴더로 이동
경로를 따로 설정해주지 않았다면 현재 디렉토리에 .ssh 디렉토리가 생성됐을 것이고, cd .ssh 명령을 통해 이동한다.
Step 4. RSA public 키 이름 변경
$ cp id_rsa.pub authorized_keys
위의 명령어를 입력해 authorized_keys를 만든다.
Step 5. SFTP 연결
이 부분은 조금 어려울 수도 있다. 일단 나는 VirtualBox를 사용해 리눅스 환경을 구축했으므로 VirtualBox로 진행하는 방법을 알려주도록 하겠다.
VirtualBox에서 현재 사용하는 OS에서 설정에 들어가면
이런 창이 나오는 것을 확인할 수 있을 것이다.
여기서 왼쪽에 하이라이트를 준 네트워크를 클릭하면
이런 화면이 나오고, 마찬가지로 하이라이트를 준 고급 버튼을 클릭한다.
그럼 위처럼 어댑터 종류, 무작위 모드, MAC 주소가 나타나고 하단에 포트 포워딩 버튼이 보이면 그것을 클릭한다.
기존에 리눅스의 port를 변경하지 않았다면 22번 포트가 해당 리눅스 ssh 연결에 사용되는 포트일 것이다. 나는 22번 포트를 window의 10024포트에 연결시켰고, 이는 사람마다 다를 것이니 22번 게스트 포트의 호스트 포트번호를 찾아 기억한다.
이후 window에서 cmd 창을 열어
$ sftp -oPort=포트번호 사용자이름@IP주소
위처럼 입력해 주어야 하는데, 나의 경우 포트번호는 10024이고, 사용자 이름은 root 계정을 사용하므로 root, 같은 ip를 사용하므로 ip 주소는 127.0.0.1을 입력해 주었다.
그러면 연결을 시도할 거냐는 물음에 yes라고 입력한 후 엔터를 쳐주면 비밀번호를 묻는다. 비밀번호도 입력하고 엔터를 누르면 연결이 성공한 것을 볼 수 있을 것이다. (둘다 타이핑 내용이 화면에 보이지 않으니 당황하지 마세요)
Step 6. id_rsa 다운로드
그럼 기존에 id_rsa가 생성된 위치를 알아야 한다. 이를 알기 위해서는 linux에서 .ssh 위치를 찾아야하고, 이미 .ssh 위치에 있으므로 커맨드라인에 pwd를 입력해 현재 위치를 확인한다.
나는 root 계정에서 만들었으므로 위치가 /root/.ssh이다.
이후 sftp연결을 한 cmd창으로 돌아와서
sftp> get 주소
위처럼 입력해주면 되는데 나의 id_rsa 주소는 /root/.ssh이므로
get /root/.ssh/id_rsa 라고 입력하면 된다.
성공적으로 파일이 다운로드 된 것을 볼 수 있을 것이다. 해당 파일은 'c:\사용자\이름' 위치에 보통 저장되지만 찾기 어려우면 내pc에서 id_rsa 검색하면 금방 찾을 것이다.
Step 7. PuttyGen을 사용해 putty에서 사용하는 key로 변환
드디어 puttygen을 사용할 차례다
puttygen을 처음 실행하면
이런 화면을 볼 수 있을 것이다. 하이라이트 표시한대로 Load 버튼을 눌러 id_rsa 파일을 불러오는데 여기서 주의할 점은
- 하단에 Parameters에 RSA가 체크 되어 있는지 확인하고
- 로드할 때 전체파일 보기를 눌러줘야 한다.
저기 하이라이트 친부분을 클릭해 All files로 해야 id_rsa가 보일 것이다.
이후 나오는 창들은 확인버튼을 클릭해 계속 넘어가고,
Save private key를 눌러 키를 생성해주는데 생성 위치는 본인 맘대로 해도 되지만 c:\Program Files (x86)\PuTTY를 추천한다. 그래야 다음번에 찾기 쉽다.
Step 8. Putty 등록
여기가 조금 어려울 수도 있는데 차근차근 따라오면 다 된다. 무심코 엔터를 제발 누르지 않길 바란다.
일단 기존에 자신이 접속하던 IP와 포트가 있을 것이다 그것을 putty에 입력하고 Saved Sessions에 자신이 사용할 이름을 입력한다. 아래 사진에 하이라이트 준 부분만 입력하면 된다.
다 입력하면 Save 버튼을 일단 누르고,
왼쪽 카테고리에 Connection > Data 에 들어가 Auto-login username에 자신의 linux 계정 이름을 입력하면 된다. 나는 root 계정이었으므로 root를 입력했다. 그리고 주의할 점은 Open을 누르지 말아야 한다는 것이다.
이후 Connection > SSH > Auth에 들어가고
Browse 버튼을 눌러 우리가 생성한 키를 넣어주고 여기서도 오픈을 누르면 안된다.
Session으로 돌아가 여기서 Save를 눌러준다.
이후 Open을 하면
로그인을 따로 하지 않아도 로그인이 되는 것을 볼 수 있을 것이다. 이후에는 방금 저장한 것을 오픈만 하면 된다.