최근 맥북을 수리하면서 공개키(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 접속이 가능하다.