ssh-keygen을 이용한 ssh 자동 로그인

2021. 10. 15. 13:07프로그래밍/기타

반응형

ssh 접속시 로그인이 아주 귀찮은 경우가 많이 발생한다.

특히 VS Code를 이용해서 CloudCode를 이용한 원격 개발중이라면 더욱 그러하다.

처음엔 잘 참고 입력하였으나 너무 너무 귀찮... ㅠㅠ

 

ssh-keygen 을 이용해서 private key, public key를 생성하고, 서버에 퍼블릭 키를 업로드 한다. 그런 후에 사용하면 끝~

 

$ ssh-keygen -t rsa

 

1. 저장 디렉토리를 알려주는데 그냥 엔터
2. 인증서에 passphrase (비밀 번호)를 걸 것인지 2번 물어본다.  여기 비밀번호를 넣으면 자동 로그인이 아니라 매번 비번을 넣어야 하니 그냥 엔터 치고 넘어간다.

필자의 경우 이미 키가 있기 때문에 중간에 이미 있는데 덮어 쓸 것인지를 묻는 과정이 추가되어있다. 처음 하시는 분은 안나타난다.

생성된 인증서 파일들을 확인해보자.

$ ls ~/.ssh
id_rsa id_rsa.pub

두개의 파일이 생성되었음을 확인할 수 있다.
id_rsa 는 private key, id_rsa.pub 는 public key 이다.

 

이제 생성한 public key를 서버에 업로드 해야한다.

 

리눅스의 sshd (ssh deamon)는 디폴트로 사용자 홈 아래의 /.ssh/authrized_keys 파일에서 공개키를 찾는다.
서버의 사용자 홈 디렉토리에 .ssh 디렉토리가 있어야 한다. 없다면 먼저 생성해주고 아래 명령어를 실행한다.

다양한 방법으로 업로드 할 수 있겠지만 필자는 아래의 방식을 선호한다. 기존에 파일이 있으면 해당 파일에 추가한다.

여러개의 키를 등록할 수 있기 때문에 authrized_keys 파일에 쓸 때 write (>)가 아니라 append (>>) 를 사용한다.

$ cat ~/.ssh/id_rsa.pub | ssh [로그인아이디]@[서버 주소] "cat >> ~/.ssh/authorized_keys"

위와 같이 서버에 접속하기 위해서 처음에 비번을 한번 물어보게 된다.

 

자 이제 모든 준비가 끝났다. 자연스럽게 접속을 해보자~

$ ssh [로그인아이디]@[서버주소]

비밀번호를 묻지 않고 자연스럽게 들어가졌다면 성공!

 

2018.08.23 - [프로그래밍/기타] - root 유저로 ssh 접근 제어 해야할 때

 

root 유저로 ssh 접근 제어 해야할 때

ssh를 이용해서 외부 접근을 하는 경우에 root 유저로 붙을 수 있게 되면 아무래도 보안상 위험하겠지요. 원격으로 해킹 시도가 상당히 발생할 수 있습니다. 이에 따라서 root 유저는 통상적으로 ssh

blog.hometown.co.kr

2018.07.27 - [프로그래밍/기타] - SSH 접속 세션 시간 조정

 

SSH 접속 세션 시간 조정

SSH 접속이 자주 끊겨서 고생하는 경우들이 있는데... 그에 대한 해결책을 간단히 노트해둔다. SSH 클라이언트 접속 시간 조정 sudo vi /etc/ssh/ssh_config # otehr configs 부분에 아래 내용을 주석 해제하고

blog.hometown.co.kr

2021.02.06 - [프로그래밍/기타] - File Transfer - scp, rsync

 

File Transfer - scp, rsync

서버 작업을 하다보면 서버와 서버 사이에 파일 전송 이슈가 있는 경우가 있다. 개인적으로 주로 SFTP나 FTP를 이용해서 파일을 전송했었는데... 요즘은 rsync 를 이용해서 파일 전송을 주로 하고 있

blog.hometown.co.kr

 

반응형