우선 OpenSSL 과 OpenSSH 가 설치되어 있어야 합니다. 윈도우즈에서는 cygwin 버전을 사용하세요. 로컬 머신에서 다음을 실행합니다:
ssh-keygen -t rsa -b <비트수 (2048)>
Private key 에 대한 passphrase 를 묻게 되는데 입력하지 않습니다.
생성이 완료 되면 ~/.ssh/ 에 id_rsa (private key) 와 id_rsa.pub (public key) 파일이 생성된 것을 알 수 있습니다.
마지막으로 권한을 설정합니다 (윈도우즈에서도 반드시 하셔야 합니다):
chmod 600 ~/.ssh/id_rsa*
이제 원격지 시스템에 로그인하여 ~/.ssh 디렉토리에 들어가서 (없다면 만드세요) authorized_keys 파일을 엽니다. (역시 없다면 만드세요) 파일의 마지막 부분에 id_rsa.pub 파일의 내용을 추가하고 저장한 뒤, 권한을 설정합니다:
chmod 644 authorized_keys
이제 비밀번호 없이 SSH 를 통해 로그인하실 수 있습니다. 다음 명령으로 키를 생성한 로컬 머신에서 테스트해 볼 수 있습니다:
ssh <사용자명>@<호스트명> ‘echo Hello, World!’
아무 에러 없이 종료되면 성공입니다.
만약 작업하는 머신이 여러개라면 각각의 머신에서 동일한 작업을 수행해 주셔야 합니다. 또, 원격지 머신에 OpenSSH 가 아닌 다른 SSH 가 설치되어 있다면 (e.g. Solaris), 여기에서 더 자세한 정보를 얻으십시오.
PS: 여전에 작성했던 ‘Maven 에서 Password 없이 Deploy 하기’에서 Passwordless login 부분만 뽑아 다시 작성한 글입니다.