MAC에서 비밀번호 없이 ssh 접속하기(config)

최근 맥북을 수리하면서 공개키(id_rsa.pub), 개인키(id_rsa) 그리고 호스트 정보가 있는 config 파일을 백업하지 않아 재설정하였다. 기록하기 위해 정리하는 것이지만 필요한 내용은 비밀번호 없이 ssh 접속을 위해 호스트 정보를 기록해두는 config 파일이다.

ssh 원격 접속

-> ssh user@host(domain|ip_address) -i identity_file

user : 원격 서버의 계정
host : 도메인이나 IP주소 (예 : 128.XXX.XX.XX, kimkevin.net)
-i : 개인키 파일 경로

원격 서버 ssh 접속시 인증에 사용할 개인키와 로그인 계정을 포함하는 기본적인 명령어이다.

비밀번호로 로그인

-> ssh dev@kimkevin.net
dev@kimkevin.net’s password:
...
Last login: Sat Jun 27 03:05:25 2020 from 210.94.83.207
dev@kevin:~$

비밀번호 없이 user@host로 로그인

vi ~/.ssh/authorized_key

ssh-rsa ..............................................................
......................................................................
......................................................................

서버의 ssh 폴더 안에 authorized_key 파일을 생성하고 공개키를 등록하자.

-> ssh dev@kimkevin.net
...
Last login: Sat Jun 27 03:05:25 2020 from 210.94.83.207
dev@kevin:~$

서버에 클라이언트의 공개키를 등록해두면 비밀번호 없이 로그인이 가능하다.

-> ssh dev@kimkevin.net -i ~/.ssh/another_id_rsa
...
Last login: Sat Jun 27 03:05:25 2020 from 210.94.83.207
dev@kevin:~$

만약 서버마다 다른키로 접속한다면 -i 옵션을 사용해 개인키 경로를 전달하면 된다.

호스트 이름으로 쉽게 로그인

-> ssh dev
...
Last login: Sat Jun 27 03:05:25 2020 from 210.94.83.207
dev@kevin:~$

계정과 호스트 정보 없이 자신이 정의한 호스트 이름으로 쉽게 로그인이 가능하다.

-> vi ~/.ssh/config

Host kevin
    HostName kimkevin.net
    User dev
    IdentityFile ~/.ssh/id_rsa

config파일을 생성하고 chmod 440 ~/.ssh/config 다음처럼 read권한만 주도록 하자.

-> ssh kevin
...
Last login: Sat Jun 27 03:05:25 2020 from 210.94.83.207
dev@kevin:~$

접속하는 원격서버가 여러개라면 호스트 각각 등록해두고 사용하면 더욱 편리하게 ssh 접속이 가능하다.