SSH Auto Login (RSA 키 사용)
ssh를 이용하여 원격지에 접속 시, 비밀번호 입력 없이 접속할 수 있습니다. production 서버에서는 귀찮더라도 비밀번호를 이용합시다. (너무 위험함)
인증에 필요한 RSA 키 생성
ssh-keygen 툴을 이용하여 rsa 키 페어를 생성합니다. 중간에 passphrase를 입력하면 원격지에 접속 시마다 암호를 물어보니 그냥 Enter를 눌러 건너뛰어줍니다.
MacBook-Pro:~ leenit$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/leenit/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/leenit/.ssh/id_rsa.
Your public key has been saved in /Users/leenit/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:udanJpAFAugIcB77iWu4HCef3cYTWCxolLAIpsI3M0g leenit@MacBook-Pro.local
The key's randomart image is:
+---[RSA 3072]----+
|+E=.. |
|Xoo=. . |
|B++=.... |
|o..=+o o.. |
| o o +oS |
| . . .o. o |
|.oo. ..+ . . |
|.o= o .=. .o |
|.. o ....o. |
+----[SHA256]-----+
원격지에 인증키 등록 (ssh-copy-id 명령어 이용)
로컬에 ssh-copy-id 명령어가 사용 가능하다면 아래와 같이 간단하게 등록이 가능합니다.
MacBook-Pro:~ leenit$ ssh-copy-id -i ~/.ssh/id_rsa was@192.168.56.101
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
was@192.168.56.101's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'was@192.168.56.101'"
and check to make sure that only the key(s) you wanted were added.
원격지에 인증키 등록 (ssh-copy-id 명령어가 없을 때)
로컬에 생성된 id_rsa.pub 공개키 파일을 원격지에 업로드하여 인증키 정보를 수동으로 추가할 수 있습니다.
MacBook-Pro:~ leenit$ scp ~/.ssh/id_rsa.pub was@192.168.56.101:/home/was/.ssh/
was@192.168.56.101's password:
id_rsa.pub 100% 593 1.2MB/s 00:00
MacBook-Pro:~ leenit$ ssh was@192.168.56.101
was@192.168.56.101's password:
Last failed login: Fri Apr 24 22:12:46 KST 2020 from 192.168.56.1 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Fri Apr 24 22:10:29 2020 from 192.168.56.1
[was@localhost ~]$ cd ~/.ssh
[was@localhost .ssh]$ cat id_rsa.pub >> authorized_keys
[was@localhost .ssh]$ rm id_rsa.pub
추가 작업 후 보안을 위해 파일 권한을 수정해 줍니다.
[was@localhost ~]$ chmod 700 .ssh
[was@localhost ~]$ chmod 600 .ssh/authorized_keys
모든 작업이 완료되면 원격지에 패스워드 입력 없이 접속이 가능합니다!
MacBook-Pro:~ leenit$ ssh was@192.168.56.101
Last login: Fri Apr 24 22:16:51 2020 from 192.168.56.1
[was@localhost ~]$