PuTTY는 윈도우Windows에서 SSH 프로토콜을 통해 Linux 서버에 연결하기 위한 도구입니다. PuTTY를 사용하여 연결하는 경우 사용자 이름과 암호를 입력해야 합니다. 하지만 서버 접속이 많은 경우 이 과정이 번거롭기 때문에 공개키를 서버와 PuTTY에 등록하면 비밀번호를 입력하지 않아도 자동 로그인이 가능합니다.
이렇게 자동으로 로그인 하기 위해서는 PuTTY Key Generator를 이용하여 개인키와 공개키를 생성하고 이렇게 생성된 개인키는 사용자가 보관하고 공개키는 서버에 등록해야 합니다. 이렇게 공개키를 등록하면 비밀번호를 입력하지 않아도 자동으로 서버에 로그인할 수 있습니다.
튜토리얼 환경: 윈도우 11, PuTTY, Ubuntu
private key 및 public key 생성
PuTTY 전체 패키지를 설치하면 같이 설치되는 PuTTY Key Generator 를 이용해 private key(개인 키)와 public key(공개 키)를 생성할 수 있습니다.
- PuTTY Key Generator 를 실행 후 Generate 버튼을 클릭합니다.
- 키 생성 과정이 진행되는데 게이지가 차오르지 않는다면 마우스를 클릭하거나 휠을 스크롤합니다.
- 상단 Key 필드에 공개 키가 생성되었는데 이를 private key 버튼으로 private key로 저장 해주면 됩니다.
- private key키에 암호를 설정할 수 있는데 설정하지 않은 경우 위와 같은 경고가 출력됩니다. 본문에서는 예(Y) 버튼을 눌러 암호 없이 진행합니다.
- private key키가 저장될 경로로 이동 후 식별을 위한 이름을 지정한 다음 저장(S) 버튼을 클릭하면 private key키가 생성됩니다.
- private key는 이런 형태로 되어 있습니다.
- 다시 PuTTY Key Generator로 이동 후 상단의 공개 키 값을 복사하거나 키 파일을 생성합니다. 본문 에서는 키 값을 복사해 서버에서 키 파일을 만들도록 하겠습니다.
public key 서버 등록
위 과정으로 키 페어를 생성 후 개인 키는 접속할 PC의 안전한 곳에 보관하고 공개키는 접속할 서버에 등록해야 합니다.
- 서버에 접속 후
cd $Home/.ssh
명령으로.ssh
디렉토리로 이동 한 뒤vi authorized_keys
를 입력 해 authorized_keys 파일을 생성하고 사용하는 에디터를 이용해 열어줍니다. 본문에서는 vi에디터를 사용합니다.
- 앞서 생성 된 공용키 값을 authorized_keys 파일에 붙여넣기 한 뒤 저장합니다. vi 에디터를 사용한 경우
:wq
를 눌러 저장하고 종료할 수 있습니다.
참고:.ssh
디렉토리가 존재하지 않는 경우 권한을 700으로 두고 새로 생성합니다.authorized_keys
파일의 권한은 일반적으로 600 입니다.
PuTTY에 private key 경로 등록
공개키를 등록했으니 이제 개인키를 안전한 곳에 보관하고 해당 경로를 PuTTY에 등록하면 준비가 완료됩니다.
- PuTTY를 실행 후 좌측 트리에서 Connetcrtion → SSH → Auth 아래 Credentials 로 이동 한 뒤 Private key file for authentication: 필드에서 컴퓨터에 저장된 private key키 경로를 입력 하거나 Browse로 찾아 줍니다.
- Data 로 이동 후 Auto-Login username 필드에 자동으로 로그인할 사용자 이름을 입력 합니다. 사용자가 여럿이라면 키를 등록한 사용자를 입력해야 하며 안전한 곳이라면 root로 등록하는 것이 아무래도 편하겠죠?
이제 좌측 트리의 Session에서 설정 내용을 저장 후 Open으로 서버에 접속하면 비밀번호없이 자동으로 로그인될 것입니다.
마치며
이번 포스트에서는 PuTTY로 서버에 접소 시 비밀번호 입력 없이 자동으로 접속하는 방법에 대해 알아보았습니다. 이 방법은 보안성이 높고 비밀번호 입력 과정을 저장할 수 있으며 사용하기 편리합니다. 단, 공개키를 관리하는 것은 중요하므로 관리에 주의해야 하겠죠.
이렇게 SSH로 리눅스 서버에 접속 시 매번 암호를 입력하는 과정이 번거롭거나 보다 강력한 보안을 원한다면 위 과정으로 공개키를 서버에 등록 후 사용해 보세요.