ssh 접속시 pw를 매번 입력하여 접속하지 않으려면, 공개 키를 원격 서버의 authorized_keys에 복사해주면 된다. 이를 ssh-copy-id를 통해 더 쉽게 할 수 있다.
옵션을 통해 생성되는 ssh 키 이름을 지정할 수 있다. 지정하지 않는다면 id_ras, id_rsa.pub과 같이 디폴트 이름이 생성된다.
ssh-keygen -t rsa -b 2048 -f ~/.ssh/custom_key_name
-t rsa: RSA 알고리즘 사용-b 2048: 키 길이를 2048비트로 설정-f ~/.ssh/custom_key_name: 파일 이름과 경로 지정결과적으로 개인 키는 ~/.ssh/custom_key_name, 공개키는 ~/.ssh/custom_key_name.pub 파일이름을 가진다.
공개 키를 원격 서버의 authorized_keys에 복사할 때 아래 명령을 사용. 이때 -p 옵션을 통해 포트번호를 지정해줄 수 있고 따로 지정하지 않는다면 디폴트값인 22로 설정됨. 또한 ssh 키의 이름을 위 ssh-keygen 명령어의 옵션 -f 를 통해 바꿨다면 아래와 같이 복사할 공개키 파일을 -i 옵션을 통해 지정 해주어야 한다.
ssh-copy-id -i ~/.ssh/custom_key_name.pub -p 22 username@remote_host
-i ~/.ssh/custom_key_name.pub: 공개 키 파일 지정-p 28022: SSH 포트 번호username@remote_host: 원격 서버 사용자와 주소결과적으로 원격 서버의 ~/.ssh/authorized_keys 파일에 복사한 공개키가 잘 들어가 있으면 잘 동작한 것이다.
SSH 접속 시 기본 키가 아닌 특정 이름의 키를 사용하려면 -i 옵션을 추가해야한다.
ssh -i ~/.ssh/custom_key_name -p 28022 username@remote_host
근데 기본 이름의 키를 사용하는게 편하다…