How to Disable Root SSH Access on CentOS 7
차례:
SSH (Secure Shell)는 클라이언트와 서버 간의 보안 연결을 위해 설계된 암호화 네트워크 프로토콜입니다.
가장 널리 사용되는 SSH 인증 메커니즘은 암호 기반 인증과 공개 키 기반 인증입니다. SSH 키를 사용하는 것이 일반적으로 기존 비밀번호 인증보다 안전하고 편리합니다.
이 튜토리얼은 CentOS 7 시스템에서 SSH 키를 생성하는 방법을 설명합니다. 또한 SSH 키 기반 인증을 설정하고 비밀번호를 입력하지 않고 원격 Linux 서버에 연결하는 방법을 보여줍니다.
CentOS에서 SSH 키 생성
새로운 SSH 키 페어를 생성하기 전에 CentOS 클라이언트 시스템에서 기존 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
공개 키를 CentOS 서버에 복사
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 비밀번호 인증을 사용하지 않을 수 있습니다.
계속하기 전에 sudo 권한이있는 사용자의 비밀번호없이 서버에 로그인 할 수 있는지 확인하십시오.
SSH 비밀번호 인증을 비활성화하려면 아래 단계를 따르십시오.
-
원격 서버에 로그인하십시오.
ssh sudo_user@server_ip_address
텍스트 편집기로 SSH 구성 파일
/etc/ssh/sshd_config
십시오.sudo nano /etc/ssh/sshd_config
다음 지시문을 검색하고 다음과 같이 수정하십시오.
/ etc / ssh / sshd_configPasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
완료되면 파일을 저장하고 다음을 입력하여 SSH 서비스를 다시 시작하십시오.
sudo systemctl restart ssh
이때 비밀번호 기반 인증이 비활성화됩니다.
결론
이 학습서에서는 새 SSH 키 쌍을 생성하고 SSH 키 기반 인증을 설정하는 방법을 학습했습니다. 여러 원격 서버에 동일한 키를 추가 할 수 있습니다.
또한 SSH 비밀번호 인증을 비활성화하고 서버에 보안 계층을 추가하는 방법도 보여주었습니다.
기본적으로 SSH는 포트 22에서 수신 대기합니다. 기본 SSH 포트를 변경하면 자동 공격의 위험이 줄어 듭니다.
centos ssh 보안centos 7에서 openvpn 서버를 설정하는 방법

VPN을 사용하면 원격 VPN 서버에 연결하여 트래픽 데이터를 비공개로 유지하여 연결을 암호화하고 안전하게 웹에서 서핑 할 수 있습니다. 이 튜토리얼에서는 OpenVPN을 설치하고 구성하여 자체 VPN 서버를 설정하는 과정을 다룹니다.
CentOS 7에서 vsftpd를 사용하여 FTP 서버를 설정하는 방법

이 튜토리얼에서는 vsftpd를 설치합니다. 안정적이고 안전하며 빠른 FTP 서버입니다. 또한 vsftpd를 구성하여 사용자를 홈 디렉토리로 제한하고 SSL / TLS로 전체 전송을 암호화하는 방법을 보여줍니다.
centos 7에서 방화벽으로 방화벽을 설정하는 방법

FirewallD는 시스템의 iptables 규칙을 관리하고이를 작동하기위한 D-Bus 인터페이스를 제공하는 완벽한 방화벽 솔루션입니다. 이 자습서에서는 CentOS 7 시스템에서 FirewallD를 사용하여 방화벽을 설정하는 방법과 기본 FirewallD 개념을 설명합니다.