기계적 인조 인간

데비안 9에서 ssh 키를 설정하는 방법

[오픈인터뷰]'가상화 스토리지'(IP SAN)에 관한 5가지 궁금증

[오픈인터뷰]'가상화 스토리지'(IP SAN)에 관한 5가지 궁금증

차례:

Anonim

SSH (Secure Shell)는 클라이언트와 서버 간의 보안 연결에 사용되는 암호화 네트워크 프로토콜이며 다양한 인증 메커니즘을 지원합니다.

가장 널리 사용되는 두 가지 메커니즘은 암호 기반 및 공개 키 기반 인증입니다. SSH 키를 사용하는 것이 기존 비밀번호 인증보다 안전하고 편리합니다.

이 튜토리얼에서는 데비안 9 시스템에서 SSH 키를 생성하는 방법을 설명합니다. 또한 SSH 키 기반 인증을 설정하고 비밀번호를 입력하지 않고 원격 Linux 서버에 연결하는 방법을 보여줍니다.

데비안에서 SSH 키 만들기

새로운 SSH 키 페어를 먼저 생성하기 전에 데비안 클라이언트 머신에서 기존 SSH 키를 확인하십시오. 다음 ls 명령을 실행하여이를 수행 할 수 있습니다.

ls -l ~/.ssh/id_*.pub

위 명령의 출력에 No such file or directory 또는 no matches found 항목이 No such file or directory 포함되어 있으면 SSH 키가 없으므로 다음 단계를 계속하고 새 SSH 키 쌍을 생성 할 수 있습니다.

기존 키가있는 경우 해당 키를 사용하고 다음 단계를 건너 뛰거나 이전 키를 백업하고 새 키를 생성 할 수 있습니다.

다음 명령을 사용하여 주석으로 전자 메일 주소로 새로운 4096 비트 SSH 키 쌍을 생성하십시오.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

출력은 다음과 유사합니다.

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

기본 파일 위치 및 파일 이름을 승인하려면 Enter 를 누르 Enter .

다음으로 보안 암호를 입력하라는 메시지가 표시됩니다. 암호를 사용하든, 그것은 당신에게 달려 있습니다. 암호를 사용하면 키에 추가 보안 계층이 추가됩니다.

Enter passphrase (empty for no passphrase):

전체 상호 작용은 다음과 같습니다.

SSH 키 쌍이 생성되었는지 확인하려면 다음을 입력하십시오.

ls ~/.ssh/id_*

출력은 다음과 같아야합니다.

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

공개 키를 서버에 복사

SSH 키 페어가 준비되었으므로 다음 단계는 공개 키를 관리하려는 서버에 복사하는 것입니다.

공개 키를 원격 서버에 복사하는 가장 쉽고 권장되는 방법은 ssh-copy-id 도구를 사용하는 것입니다.

로컬 머신 터미널에서 다음 명령을 조정하십시오.

ssh-copy-id remote_username@server_ip_address

remote_username 비밀번호를 입력하라는 메시지가 표시됩니다.

remote_username@server_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 'username@server_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 remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

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

이때 비밀번호를 묻지 않고 원격 서버에 로그인 할 수 있어야합니다.

테스트하려면 SSH를 통해 서버에 연결하십시오.

ssh remote_username@server_ip_address

SSH 비밀번호 인증 비활성화

서버에 추가 보안 계층을 추가하기 위해 SSH에 대한 비밀번호 인증을 사용하지 않을 수 있습니다.

SSH 비밀번호 인증을 비활성화하기 전에 비밀번호없이 서버에 로그인 할 수 있고 로그인 한 사용자에게 sudo 권한이 있는지 확인하십시오.

원격 서버에 로그인하십시오.

ssh sudo_user@server_ip_address

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에서 수신 대기합니다. 기본 SSH 포트를 변경하면 자동 공격의 위험이 줄어 듭니다.

데비안 ssh 보안