ssh config로 ssh 접속 간편하게 하기

일반적으로 ssh에 접속하기 위해 다음과 같은 명령어를 사용한다.

$ ssh edward@dev.haruair.com

사실 단순해 보이지만 개발자는 게을러야 하므로 ~/.ssh/config에 설정을 작성해두면 더 짧게 사용할 수 있다. ~/.ssh/config가 없다면 빈 파일을 만들면 된다. 파일 내용은 다음과 같다.

Host dev
    HostName dev.haruair.com
    User edward

이렇게 작성하면 다음과 같이 접속 가능하다. (만약 동작하지 않는다면 퍼미션을 확인해주세요. ChangWan Jun님이 chmod 440 ~/.ssh/config 식으로 퍼미션 지정이 필요하다고 알려주셨습니다.)

$ ssh dev

해당 서버가 ssh key를 기본값인 id_rsa를 사용하고 있다면 접속에 문제가 없다. (ssh key를 생성하는 방법은 이 페이지를 참조) 하지만 각각 서버마다 다른 키를 사용하고 있다면 여전히 -i 플래그를 이용해야 해서 번거롭다.

$ ssh dev -i ~/.ssh/haruair.dev
$ ssh company -i ~/.ssh/edward.company

각각 서버마다 어떤 키를 참조할지 config에 미리 작성해둘 수 있다.

Host dev
    HostName dev.haruair.com
    User edward
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/haruair.dev

Host company
    HostName dev.haruair.company
    User edward
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/edward.company

내 경우엔 GitHub용 키를 별도로 생성해서 등록했는데 다음과 같이 쓸 수 있다.

Host github.com
    User git
    IdentityFile ~/.ssh/haruair.github

이렇게 등록해두면 다음과 같이 해당 주소의 ssh를 사용할 때 해당 키를 참조하게 된다.

$ git clone git@github.com:haruair/some-repo.git

2차 도메인 등의 경우, 다음과 같이 와일드카드로도 지정이 가능하다.

Host *.haruair.com
    User edward
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/haruair.dev

config 파일은 상당히 세세한 범위까지 설정이 가능한데 그 내용은 ssh_config 메뉴얼에서 확인할 수 있다.

김용균

안녕하세요, 김용균입니다. 문제를 해결하기 위해 작고 단단한 코드를 작성하는 일을 합니다. 웹의 자유로운 접근성을 좋아합니다. 프로그래밍 언어, 소프트웨어 아키텍처, 커뮤니티에 관심이 많습니다.

이 글 공유하기

이 글이 유익했다면 주변에도 알려주세요!

페이스북으로 공유하기트위터로 공유하기링크드인으로 공유하기Email 보내기

주제별 목록

같은 주제의 다른 글을 읽어보고 싶다면 아래 링크를 확인하세요.

July 04, 2014

OSX에 나만을 위한 워드프레스 설치하기

평소에 짧은 메모를 많이 적는 편이다. 맥에서 메모를 위해 사용할 수 있는 다양한 도구가 많이 있긴 하지만 완제품인 어플리케이션을 내 취향대로 수정해 사용할 수 없는 부분이 가장 불편하다. 손에 딱 맞는, 쉽게 사용할 수 있는 프로그램을 찾아야하는데…

June 30, 2014

ssh 인증키 생성 및 서버에 등록하기

ssh key를 생성하고 서버에 등록하는 방법은 복잡하지 않다. 으로 공개키/비밀키 한 쌍을 생성하고, 공개키 내용을 접속할 서버에 에 저장하면 해당 서버에 비밀번호 없이 ssh 접속이 가능하다. 다음은 클라이언트에서 인증키를 생성하는 방법이다. 는…