ssh-agent 가 private key 를 캐싱할 수 있도록 등록해 주는 ssh-add 명령어 사용법
OpenSSH 에는 ssh-agent 라는 authentication agent가 있어서 pass phrase 를 입력한 private key 를 메모리에 캐싱해 줍니다.
이 덕분에 한 번 개인 키를 입력했으면 다시 입력할 필요없이 세션이 유지되는 동안 편리하게 사용할 수 있습니다.
ssh-add 명령은 ssh-agent 에게 caching 할 개인 키를 등록해 주는 역할을 수행합니다.
등록
먼저 ssh-agent 에게 관리할 개인 키를 알려줘야 합니다. ssh-add 명령을 등록할 개인 키의 경로를 주고 실행하면 됩니다.
그후에 pass phrase 를 입력해 주면 추가되었다는 메시지가 나오고 login session 이 유지되는 동안 해당 개인 키의 pass phrase 는 다시 입력하지 않아도 됩니다.
$ ssh-add ~/.ssh/ubuntu@laravel.kr/laravelkr-new.pem Enter passphrase for /home/lesstif/.ssh/ubuntu@laravel.kr/laravelkr-new.pem: Identity added: /home/lesstif/.ssh/ubuntu@laravel.kr/laravelkr-new.pem (/home/lesstif/.ssh/ubuntu@laravel.kr/laravelkr-new.pem)
유효기간
키를 등록할 때 -t 옵션으로 유효 기간(life time)을 설정할 수 있습니다. 기간 단위는 기본적으로 초(second) 이며 또는 sshd_config 처럼 시간을 나타내는 문자(m, h, d, w) 를 붙여서 지정할 수 있습니다.
다음은 유효 기간을 4주로 해서 키를 등록합니다.
$ ssh-add -t 4w ~/.ssh/ubuntu@laravel.kr/laravelkr-new.pem Identity added: Lifetime set to 2419200 seconds
목록
ssh-agent 에 등록된 개인 키의 목록을 보려면 -l 옵션을 사용하면 전체 개인 키의 목록을 표시합니다.
$ ssh-add -l 3072 SHA256:EdbYgjw2PSYvf4g4+QsCCkUqgDGOvSTWvuvGRkLqd0g lesstif@gmail.com-new (RSA) 2048 SHA256:ix7DER155Jn5KThGm1jzKZkT8P2ueHpDLmLESy2AiFw /home/lesstif/.ssh/ubuntu@laravel.kr/laravelkr-new.pem (RSA)
삭제
삭제하려면 -d 옵션 뒤에 삭제할 개인 키의 경로를 적어주면 됩니다.
$ ssh-add -d ~/.ssh/ubuntu@laravel.kr/laravelkr-new.pem
전체 개인키를 삭제하려면 -D 옵션을 주고 실행합니다.
$ ssh-add -D All identities removed.