[linux] "~/.ssh/config" 설정으로 서버마다 다른 인증키를 사용하여 접속하는 방법.

2022. 5. 11. 15:00OperatingSystem/linux

728x90
728x90

-인증키 접속 과정 설명.

  1. 클라이언트 노드에서 ssh-keygen 명령으로 공개키(Ex. id_rsa.pub)/비밀키(Ex. id_rsa) 한 쌍을 생성한다.
  2. 생성된 공개키(Ex. id_rsa.pub)를 서버 노드의 ~/.ssh/authorized_keys 파일에 추가한다.
  3. 해당 서버에 접속하려는 계정의 비밀번호 입력없이 ssh 접속이 가능하다.
  4. 클라이언트 노드는 비밀키를 가지고 있고, 서버 노드에 공개키를 가지고 있도록 하여 접속하는 방식이다.

-ssh key 생성 & ssh key 인증 접속 방법 가이드.


-서버(노드/호스트)마다 다른 인증키를 사용할 있도록 "~/.ssh/config" 설정

$ ll id* config
-rw-r--r--. 1 client client  142  5월 10 11:12 config
-rw-------. 1 client client 1675  5월 10 11:00 id_rsa
-rw-------. 1 client client 1675  5월 10 11:02 id_rsa_NodeA
-rw-r--r--. 1 client client  393  5월 10 11:00 id_rsa.pub

$ vi ~/.ssh/config
# set Node A
Host 111.111.111.111
        HostName 111.111.111.111
        IdentityFile ~/.ssh/id_rsa_NodeA

# set Default
Host *
        IdentityFile ~/.ssh/id_rsa

-Node A 접속할 , id_rsa_NodeA 키를 사용하는 것을 확인.

$ sftp -v NodeA@111.111.111.111
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data ~/.ssh/config
…
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/id_rsa_NodeA
…
Connected to 111.111.111.111.
sftp>

-Node A 아닌 서버로 접속할 , default(id_rsa) 키를 사용하는 것을 확인.

$ sftp -v NodeB@222.222.222.222
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data ~/.ssh/config
…
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/id_rsa
…
Connected to 222.222.222.222.
sftp>
728x90
728x90