Ubuntu 18.04에서 SSH 키를 설정하는 방법

Ubuntu 18.04에서 SSH 키를 설정하는 방법

2022-05-17 last update

5 minutes reading security ubuntu ssh
Secure Shell(SSH)은 클라이언트와 서버 간의 안전한 연결을 위한 암호화 네트워크 프로토콜로 다양한 인증 메커니즘을 지원합니다.가장 유행하는 두 가지 메커니즘은 암호 기반 인증과 공공 키 기반 인증이다.SSH 키를 사용하는 것이 기존 암호 인증보다 안전하고 편리합니다.이 자습서에서는 Ubuntu 18.04 시스템에서 SSH 키를 생성하는 방법에 대해 설명합니다.또한 SSH 키 기반 인증을 설정하고 암호를 입력하지 않고 원격 Linux 서버에 연결하는 방법을 보여 드리겠습니다.

Ubuntu에서 SSH 키 만들기

새 SSH 키 쌍을 먼저 생성하기 전에 Ubuntu 클라이언트에 있는 기존 SSH 키를 확인하십시오.다음 명령ls command을 실행하면
:
ls -l ~/.ssh/id_*.pub
위의 명령이 No such file or directoryno matches found 같은 내용을 출력하면 클라이언트에 SSH 키가 없다는 것을 의미하며 다음 단계로 넘어가 SSH 키 쌍을 생성할 수 있습니다.기존 키가 있는 경우 이러한 키를 사용하여 다음 단계를 건너뛰거나 이전 키를 백업하고 새 키를 생성할 수 있습니다.입력:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
새 4096비트 SSH 키 쌍을 생성하고 이메일 주소를 설명합니다. 출력 결과는 다음과 같습니다.
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):
누르기Enter 누르면 기본 파일 위치와 파일 이름을 수락합니다.그런 다음 보안 암호 구문을 입력하라는 메시지가 나타납니다.암호 단어를 사용하고 싶은지 여부는 너 자신에게 달려 있다.만약 당신이 암호를 사용하는 단어를 선택한다면, 당신은 추가 안전 보호를 받을 수 있을 것이다.
Enter passphrase (empty for no passphrase):
암호 구문을 사용하지 않으려면 Enter만 누르면 됩니다.전체 상호작용 과정은 다음과 같다. 새 SSH 키 쌍이 생성되었는지 확인하려면:
ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

서버에 공개 키 복사

를 입력하십시오. SSH 키 쌍이 생성되었으니 다음 단계는 관리할 서버에 키를 복사하는 것입니다.공개 키를 서버에 복제하는 가장 간단하면서도 추천하는 방법은 ssh-copy-id라는 유틸리티를 사용하는 것이다.로컬 컴퓨터 단말기 유형:
ssh-copy-id [email protected]_ip_address
에서 암호remote_username를 입력하라는 메시지가 표시됩니다.
[email protected]_ip_address's password:
사용자가 인증을 통과하면 공개 키~/.ssh/id_rsa.pub가 원격 사용자~/.ssh/authorized_keys 파일에 추가되고 연결이 닫힙니다.
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]_ip_address'"
and check to make sure that only the key(s) you wanted were added.
어떤 이유로 ssh-copy-id 유틸리티가 로컬 컴퓨터에서 사용할 수 없으면 다음 명령을 사용하여 공개 키를 복제할 수 있습니다.
cat ~/.ssh/id_rsa.pub | ssh [email protected]_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

SSH 키를 사용하여 서버에 로그인

상기 절차를 마치면 원격 서버에 로그인할 수 있어야 하며 비밀번호를 입력하라고 알릴 필요가 없습니다.(adsbygoogle=window.adsbygoogle | |[]).추진({});이를 테스트하려면 SSH를 통해 서버에 로그인하십시오.
ssh [email protected]_ip_address
개인 키에 암호 구문을 설정하지 않은 경우 바로 로그인합니다.그렇지 않으면 암호 구문을 입력하라는 메시지가 나타납니다.

SSH 암호 인증 해제

암호 인증을 해제하면 서버에 추가 보안이 추가됩니다.SSH 암호 인증을 해제하기 전에 암호를 사용하지 않고 서버에 로그인할 수 있는지 확인합니다sudo privileges.
. 원격 서버에 로그인:
ssh [email protected]_ip_address
text editor로 SSH 프로필 열기/etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
다음 명령을 검색하고 다음과 같이 수정합니다./etc/ssh/sshd config
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
가 완료되면 파일을 저장하고 다음 명령을 입력하여 ssh 서비스를 다시 시작합니다.
sudo systemctl restart ssh
암호 기반 인증은 비활성화됩니다.

결론

이 강좌에서 새 SSH 키 쌍을 생성하고 SSH 키 기반 인증을 설정하는 방법을 배웠습니다.같은 키를 여러 원격 서버에 추가할 수 있습니다.또한 SSH 암호 인증을 비활성화하고 서버에 추가 보안 계층을 추가하는 방법을 보여줍니다.기본적으로 SSH 포트 22에서 스누핑됩니다.Changing the default SSH port
자동 공격의 위험을 낮추다.여러 시스템에서 915개의 연결을 주기적으로 정의하여 워크플로우 단순화
. 질문이나 피드백이 있으면 언제든지 의견을 달아 주십시오.