리눅스2023. 9. 12. 13:28

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/639846 (2020.7.9)

서버에 ssh 접속을 암호 없이 하고자 할 경우, 클라이언트에서 생성한 공개/비밀 RSA 키(public/private RSA key)를 이용해서 설정할 수 있다. 클라이언트에서 생성한 공개키(public key)를 서버에 설치해서, 이 공개키에 대응하는 비밀키(private key)를 가진 클라이언트의 접속을 허용하는 방식이다.

예를 들어 서버 server1.test.net의 john이라는 계정을 암호 없이 ssh 접속하고자 한다고 가정해 보자. 클라이언트에서 아래와 같이 작업하면 된다.

# 공개키/비밀키 생성
ssh-keygen

"Enter file in which to save the key"라는 메시지가 나오는데, 키 파일을 저장할 위치와 파일명을 묻는 것이다. 그냥 엔터를 누르면 기본값으로 설정된다. 공개키 파일은 ~/.ssh/id_rsa.pub, 비밀키 파일은 ~/.ssh/id_rsa가 된다.

"Enter passphrase"라는 메시지는 접속 암호를 설정하기 위한 것인데, 암호 없이 접속할 계획이므로 그냥 엔터를 누른다. 확인 메시지에서도 그냥 엔터를 누르자.

이제 공개키/비밀키 파일이 생성되었다. 공개키 파일을 john@server1.test.net으로 보내어 설치하자.

# john@server1.test.net에 공개키 파일 설치
ssh-copy-id john@server1.test.net

접속 대상 서버에 접속암호를 입력하고 성공적으로 로그인하면 키 파일 설치가 진행된다.

설치가 완료되고 나면 해당 클라이언트에서는 대상 서버로 암호 없이 ssh 접속이 가능하다.

# ssh 접속 (암호 입력 없음)
ssh john@server1.test.net

서버측에서 현재 설치된 공개키 목록은 ~/.ssh/authorized_keys 파일에 있다. 위의 예시를 보자면, server1.test.net 서버의 /home/john/.ssh/authorized_keys 파일이다.

728x90
Posted by 반달가면