Skip to content

Ssh-agent

왜 쓰는걸까?

그런데 ssh-agent는 왜 쓰는 걸까요? ssh-agent없이도 SSH 키를 가지고 아이디, 비밀번호 없이 원격 서버에 접속할 수 있는데요. 그건 위에서 SSH 키 생성 시 입력한 비밀번호와 관련이 있습니다. SSH 키 생성 시 비밀번호를 입력하면 키를 이용해 원격 서버에 접속할 때 비밀번호를 물어보는데 이건 몇 번 해보면 알겠지만 여간 귀찮은게 아닙니다. 아이디, 비밀번호 넣는게 싫어서 SSH 키 만들었더니 또 비밀번호 넣으라고 나오면… 이럴 때 ssh-agent를 씁니다. 쉽게 말해 ssh-agent는 개인키의 비밀번호를 암호화 해 기억해두고 처음 한 번만 개인키 비밀번호를 입력하면 다음부터는 기억한 비밀번호를 이용하므로 사용자는 또 비밀번호를 입력하지 않아도 됩니다. 소켓(Socket)을 생성해서 원격 서버와 통신하기 때문에 비밀번호가 유출될 염려도 없습니다.

만약에 SSH 키 생성 시 비밀번호를 입력하지 않았다면 ssh-agent는 사실 뭐 별 쓸모가 없다고 봐도 됩니다.

SSH 키를 ssh-agent에 등록하기

eval "$(ssh-agent -s)" 명령으로 SSH 에이전트를 백그라운드로 실행시켜주고, 다음 명령으로 SSH 에이전트에 키를 등록합니다.

ssh-add ~/.ssh/id_rsa

Categories

Favorite site