My Space

반응형

목적

 

현재 접속한 ssh(클라이언트)에서 원격 접근지 ssh(서버)로 연결을 하려면 

기본 ssh 포트(22)일 경우 ssh 포트가 다를 경우
ssh 서버계정@서버ip ssh -p 서버포트 서버계정@서버ip
ex) ssh test@111.111.111.111 ex) ssh -p 8000 test@111.111.111.111

 

위의 명령어를 입력한 다음 패스워드를 매번 입력해줘야 한다.

패스워드를 매번 입력하지 않기 위해 

클라이언트에서 ssh인증키를 생성한 후 서버에 등록해주려 한다.

 

직접 패스워드를 입력해 로그인 하는 것보다

키파일을 생성해 저장해놓는 것이 더안전하다.

 

추가로 RSA 인증을 위한 비밀 키를 읽어와서 접속하는 방법(옵션 -i)

ssh -i xxx.pem test@111.111.111.111

SSH 인증키 생성

기본적으로 ssh-keygen이라는 명령어를 이용해 키를 생성 할 수 있다.

명령어

ssh-keygen -t rsa -C "rsa Key"      // -t : 키 타입(rsa, dsa), -C : comment(생략가능)

패스워드를 공백으로 입력하면 접속할때 패스워드를 묻지 않는다.

 

~/.ssh(기본경로) 로 들어가면 키파일이 생성되어있다.

id_rsa : (비공개 키) 타인에게 노출하면 안된다.

id_rsa.pub : (공개 키) 이키를 원격 접근 서버 authorized_keys에 저장해야 한다.

 

SSH 인증키 서버에 등록

위의 클라이언트에서 생성한 id_rsa.pub(공개키)를 원격서버 authorized_keys에 저장해야 한다.

$cat id_rsa.pub 로 내용을 복사해서

원격서버에서 $cat >> ~/.ssh/authorized_keys 입력후

복사한 내용을 붙여넣은 뒤 엔터로 줄바꿈 해준뒤 ctrl+d로 저장을 해준다.

또는,

key를 추가해주는 유틸리티를 사용하면 더 안전하다

클라이언트에서 ssh-copy-id id_rsa.pub 서버계정@서버id  실행시 서버의 authorized_keys에 추가가 된다.

기본포트가 아닐 경우 ssh-copy-id id_rsa.pub '-p 포트 서버계정@서버id'

 

이후

ssh -p 서버포트 서버계정@서버ip  접속시 패스워드를 묻지 않는다.

 

패스워드를 물어보는 경우!!

원격서버의 ~/.ssh 디렉토리 권한은 700이어야 하고.

authorized_keys 파일의 권한은 600이어야 한다.

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

 

정리

현재 본인ssh = 클라이언트, 원격으로 붙을 ssh = 서버

1. 클라이언트에서 키 생성.  명령어 => $ssh-keygen -t rsa 

2. 클라이언트 ~/.ssh 경로에서 만들어진 키 확인

3. 클라이언트에서 만들어진 id_rsa.pub(공개키) 파일을 복사.  명령어 => cat id_rsa

4. 서버로 접속하여 ~/.ssh경로의 authorized_keys 파일에 복사한 키값 붙여넣기

    명령어 => cat >> authorized_keys 에 붙여넣고 줄바꿈 후 ctrl+d로 저장

5. 클라이언트에서 (ssh 서버계정@서버ip) 로 접속 

6. 패스워드를 물어볼 경우 서버측 디렉토리 권한 확인

    chmod 700 ~/.ssh

    chmod 600 ~/.ssh/authorized_keys

 

참고링크

velog.io/@solar/SSH-%EC%9D%B8%EC%A6%9D%ED%82%A4-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%84%9C%EB%B2%84%EC%97%90-%EB%93%B1%EB%A1%9D-%EA%B0%84%ED%8E%B8%ED%95%98%EA%B2%8C-%EC%A0%91%EC%86%8D%ED%95%98%EA%B8%B0app-developer.tistory.com/191

'Development > LINUX' 카테고리의 다른 글

host 명령어  (0) 2021.04.01
CentOS 7 설치 및 초기 셋팅  (0) 2021.04.01
외부 서버로 파일 전송(scp, rsync)  (0) 2021.03.31
오라클 구동 및 중지  (0) 2021.03.31
권한(Permission)  (0) 2021.03.09

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading