테스트, 배포, 등에서 password 없이 ssh 를 사용해야 할때가 있는데 미묘한 차이로 잘 안되는 경우가 많아 따로 기록하려함.
ssh 키 생성
키 생성은 특정서버에 접속을 시도하려는 클라이언트에서 수행한다.
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/chlee/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/chlee/.ssh/id_rsa.
Your public key has been saved in /home/chlee/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:p+Fk0V5LLR7jObgRFA7bfc1oHNVynuIyNd4Z5tCVJks chlee@dev
The key's randomart image is:
+---[RSA 2048]----+
| . o. ..+|
| B . E.B+|
| o = O @+=|
| o B # =.|
| S = X B o|
| + + = + + |
| o . o |
| |
| |
+----[SHA256]-----+
생성된 키 확인
$ ls -al id_rsa*
-rw------- 1 chlee chlee 1675 10월 22 10:37 id_rsa
-rw-r--r-- 1 chlee chlee 391 10월 22 10:37 id_rsa.pub
키 복사하기
생성된 키 중에서 id_rsa.pub 를 접속하려는 서버에 복사한다.
# authorized_keys 에 등록된 키가 없는 경우
client] $ scp .ssh/id_rsa.pub user-id@server-ip:.ssh/authorized_keys
# 등록된 키가 있는 경우 append
client] $ scp .ssh/id_rsa.pub user-id@server-ip:.ssh/client_rsa.pub
server] $ cat .ssh/client_rsa.pub >> .ssh/authorized_keys
권한 확인하기
위에 작업까지 다 하고 권한문제로 수행이 안되는 경우가 많음.
server] $ chmod 700 $HOME
server] $ chmod 700 $HOME/.ssh
server] $ chmod 644 $HOME/.ssh/authorized_keys
권한에 의한 오류
권한에 의한 오류가 발생하는 경우에는 'ssh -v ...' 를 통해 오류 메시지를 확인할 수 있다.
$ ssh -v 127.0.0.1
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
... ...
Authenticated to 127.0.0.1 ([127.0.0.1]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Remote: Ignored authorized keys: bad ownership or modes for directory /home/chlee <<<< 확인해야할 오류 메시지
... ...
'OS > Linux' 카테고리의 다른 글
ubuntu 20.04 한영 한자 키 등록하기 (0) | 2021.09.29 |
---|---|
linux timezone 변경하기 (0) | 2020.11.24 |
yum epel 404 error (0) | 2020.10.30 |
man, 'No manual entry for man' 해결하기 (1) | 2019.09.04 |