[ 리눅스 ] 인증키 만들어서 SSH 또는 SCP 접속하기
목표
암호화KEY로 서버에 SSH 또는 SCP 접속을 해봅니다.
매번 암호를 입력안해도 되니 편리하고 보안에도 약간은 도움이 되리라고 봅니다.
클라이언트(Mac)에서 Private Key, Public Key를 생성하고, Public Key를
텍스트에디터로 읽어서 서버에 authorized_keys파일에 추가를 합니다.
그리고 접속 !
* 원도우라고해서 별로 다를거는 없어요.
클라이언트
클라이언트
SSH Key생성하기
$ ssh-keygen -t rsa
user@client ~ % ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user/.ssh/id_rsa):
/Users/user/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/user/.ssh/id_rsa
Your public key has been saved in /Users/user/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:brUQSNLwbR1H8X8RGU5u1iU/Z2I2PGSVWGaZccJ7ed8 user@client
The key's randomart image is:
+---[RSA 3072]----+
| oo. ..+oBX@|
| +.o . o *BO=|
| o + . OO*|
| . . o+B*|
| S . .*|
| . o . E|
| o . |
| . |
| |
+----[SHA256]-----+
user@client~ %
생성된 파일을 확인한다.(권한을 잘보시고 맞추어 줘야한다.)
$ls -al ~user/.ssh/
-rw-r--r-- 1 user oinstall 2524 Oct 19 09:45 authorized_keys
-rw------- 1 user user 1675 Mar 29 05:31 id_rsa -------------------> Private Key
-rw-r--r-- 1 user user 394 Mar 29 05:31 id_rsa.pub --------------> Public Key
-rw-r--r-- 1 user user 392 Mar 29 01:46 known_hosts
디렉토리권한 확인한다.(700 입니다.)
drwx------. 6 user 500 4096 Mar 29 05:48 /home/user
drwx------ 2 user user 4096 Mar 29 05:48 /home/user/.ssh
서버 설정
서버
클라이언트의 id_rsa.pub파일을 다운해서 서버의 authorized_keys 파일에 넣어준다.
id_rsa.pub파일의 text를 메모장에 읽어서 authorized_keys 파일의 제일뒤에 넣어준다.
서버에서는 허용만한다는 의미.
$ls -al ~user/.ssh/
-rw-r--r-- 1 user oinstall 2524 Oct 19 09:45 authorized_keys
클라이언트에서 SSH접속하기
테스트
SSH접속 테스트
- 일반모드
ssh 192.168.0.2
또는(or)
ssh user@192.168.0.2 -----------------------------> 사용자지정, 서버아이피지정
또는(or)
ssh -i ~user/.ssh/id_rsa 192.168.0.2 -----------------> 인증서지정 , 서버아이피지정
- 디버그모드
ssh -v -i ./id_rsa 192.168.0.2
클라이언트에서 SCP접속하기
SCP접속 테스트 1
scp ./aaa.txt 192.168.0.2:aaa.txt
-------> 로컬파일PATH+파일이름 서버아이피:서버파일PATH+파일이름
SCP접속 테스트 2
scp ./aaa.txt 192.168.0.2:download/aaa.txt