반응형

Linux A 서버에서 Linux B 서버로 두 번째 로그인 시 암호를 입력하지 않고 SSH로 접속하려면, SSH 키 기반 인증을 설정해야 합니다. 아래에 이를 설정하는 방법을 단계별로 설명합니다:


1. Linux A 서버에서 SSH 키 생성

Linux A 서버의 auser 계정으로 로그인한 상태에서 다음 명령어를 실행합니다:

bash code 
ssh-keygen -t rsa
  • 옵션 설명:
    -t rsa는 RSA 형식의 SSH 키를 생성합니다.
  • 결과:
    • Enter file in which to save the key: 그냥 Enter를 눌러 기본 경로(~/.ssh/id_rsa)를 사용합니다.
    • Enter passphrase: 빈 칸으로 두고 Enter를 눌러 비밀번호 없이 생성합니다.
    • Enter same passphrase again: 다시 Enter를 누릅니다.

2. 생성된 공개 키를 Linux B 서버로 복사

생성된 공개 키를 buser 계정의 ~/.ssh/authorized_keys 파일에 추가해야 합니다. 다음 명령어를 사용합니다:

bash code
ssh-copy-id buser@<b서버 IP 또는 호스트 이름>
  • 이 과정에서 한 번은 암호를 입력해야 합니다.

대안:
만약 ssh-copy-id 명령어가 없다면, 수동으로 공개 키를 복사할 수도 있습니다:

  1. 공개키 확인

bash code
cat ~/.ssh/id_rsa.pub

  2. 출력된 키를 복사한 후, Linux B 서버에 접속하여 buser 계정의 ~/.ssh/authorized_keys 파일에 붙여넣습니다:

bash code
mkdir -p ~/.ssh chmod 700 ~/.ssh echo "<복사한 키>" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys

 

3. 접속 테스트

Linux A 서버에서 다시 한 번 Linux B 서버로 SSH 접속을 시도합니다:

bash code
ssh buser@<b서버 IP 또는 호스트 이름>

이제 암호 없이 SSH 접속이 되어야 합니다.

 


4. 추가 설정 (선택 사항)

1) SSH 설정 파일에서 Alias 사용

~/.ssh/config 파일에 아래 내용을 추가하면, 짧은 명령어로 접속할 수 있습니다:

bash code
Host bserver HostName <b서버 IP 또는 호스트 이름> User buser IdentityFile ~/.ssh/id_rsa

이제 아래 명령어로 접속할 수 있습니다:

bash code
ssh bserver

2) 파일 권한 확인

SSH 키 인증이 작동하지 않으면, 파일 및 디렉터리 권한을 확인하세요:

bash code
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub

이제 Linux A와 B 서버 간 암호 없는 SSH 접속이 설정되었습니다! 😊

반응형

+ Recent posts