Blog 이동

내 첫 블로그인 Google Blog를 사용하다가, 다른 blog가 더 깔끔하다는 느낌을 많이 받았다.

물론, 내가 html과 css의 고수였다면 구글블로그로 이쁘게 만들었을 수도 있었겠지만, 사람들이 사용하는 다른 blog 플랫폼은 어떤지 궁금해서 media 블로그를 시작하게 되었고, media 블로그 특유의 깔끔함이 너무 좋아 블로그를 이사하게 되었다.

https://medium.com/sjk5766

비밀번호 없이 리눅스 SSH 접속하기

현재 공부중인 docker 관련해서 특정 호스트에 ssh 패스워드 질의 없이 접속 후, 작업하는 과정이 예상되어, 패스워드 질의 없이 ssh 접속하는 법을 알아보았다. 방법은 간단한데 자꾸 실패를 반복.. 한 시간은 넘게 시간을 소모한것 같다.

ssh 명령을 입력하는 PC를 client, ssh 명령으로 접속할 PC를 서버라고 부르겠다.
client가 서버로 ssh 접속 시 보통은 아래와 같이 패스워드를 물어본다. 패스워드를 물어보지 않고 접속하는 방법을 아래서부터 알아본다.



1. rsa key 쌍 생성


패스워드가 아닌 인증서로 client와 server가 인증할 수 있도록 rsa key를 만든다. ssh-keygen 명령어로 key를 생성하며 만들어진 id_rsa는 비밀키, id_rsa.pub은 공개키가 된다.



2. server .ssh 폴더에 authorized_keys 파일 생성


client에서 만든 id_rsa.pub 파일을 server로 옮긴 후 authorized_keys로 변경한다.

옮기는 방법에는 2가지가 있다. scp 명령어로 옮긴 후 파일의 이름을 바꾸는 방법으로 아래 그림과 같다. client에서는 scp 명령으로 id_rsa.pub (공개키)를 server로 옮긴다. server에서는 받은 id_rsa.pub 파일 내용 그대로 authorized_keys 파일을 만든다.

                                    < client에서 scp 명령 >

                         < id_rsa.pub 파일로 authorized_keys 파일 생성 >

두 번쨰 방법으론 나도 이번에 처음 본건데 client key를 server의 authorized_keys 파일로 만들어주는 명령어가 있다. 다음의 그림과 같다.

                             < client에서 ssh-copy-id 명령으로 key 전달 >

                            < server에서는 authorized_keys 파일이 생성됨 >


3. /etc/ssh/sshd_config 파일 수정


/etc/ssh/sshd_config 파일을 열어보면 ssh 관련된 설정 값이 있다. 아래와 같이 빨간색 부분들이 주석처리 되어있다면 해제하고 저장한다. 그리고 service sshd restart 명령으로 ssh 데몬을 재시작한다.


4. client 접속 확인


이제 모든 준비는 끝났으니 client에서 ssh root@서버IP 로 접속하면 password 인증 없이 접속 되는 것을 확인할 수 있다.