Rocky Linux 9 또는 8에 SSH를 설치하는 방법

SSH(Secure Shell)는 Linux 서버에 원격으로 액세스하고 관리하는 데 사용되는 보안 프로토콜입니다. 암호화된 통신을 제공하여 클라이언트와 서버 간에 전송되는 데이터의 보안을 보장합니다. SSH는 시스템 관리자와 개발자를 위한 기본 도구로, 보안되지 않은 네트워크를 통해 명령 실행, 파일 전송, 네트워크 서비스 관리 등 다양한 작업을 안전하게 수행할 수 있도록 해줍니다.

Rocky Linux 9 또는 8에서 SSH를 설정하려면 기본 리포지토리를 사용하여 간단한 설치 프로세스를 따르면 됩니다. 이 가이드는 설치 단계를 안내하고 보안과 유용성을 향상하기 위한 초기 구성에 대한 팁을 제공합니다.

SSH 설치 전에 Rocky Linux 업데이트

Rocky Linux에 SSH를 설치하고 구성하기 전에 시스템 패키지가 최신인지 확인하는 것이 중요합니다. 이는 보다 원활한 작동을 보장할 뿐만 아니라 잠재적인 소프트웨어 충돌을 최소화합니다.

Rocky Linux 시스템을 업데이트하려면 다음 명령을 사용하십시오.

sudo dnf upgrade --refresh

DNF 명령을 통해 SSH 설치

다음 단계에서는 OpenSSH 서버가 Rocky Linux 시스템에 이미 있는지 확인하는 작업이 포함됩니다. 이는 다음 명령을 실행하여 확인할 수 있습니다.

rpm -qa | grep openssh-server

OpenSSH 서버가 설치된 경우 이 명령은 관련 출력을 반환합니다. 출력이 없으면 시스템에 OpenSSH 서버가 없음을 나타냅니다. 이 문제를 해결하고 OpenSSH 서버를 설치하려면 다음 명령을 사용하십시오.

sudo dnf install openssh-server

SSH(SSHD) 서비스 활성화

OpenSSH 서버를 성공적으로 설치한 후에는 systemd 프레임워크 내에서 SSHD 서비스를 활성화하는 것이 필수적입니다. 이렇게 하면 시스템을 재부팅할 때마다 SSH 데몬이 자동으로 초기화됩니다. 이를 달성하려면 다음 명령을 실행하십시오.

sudo systemctl enable sshd

이제 SSHD 서비스가 자동 시작으로 설정되면 다음을 사용하여 SSH 서버를 수동으로 시작할 수 있습니다.

sudo systemctl start sshd

확인 목적으로 SSH 서버가 문제 없이 실행되고 있는지 확인하려면 다음을 사용하여 상태를 확인할 수 있습니다.

sudo systemctl status sshd

이제 기본 포트(22)가 들어오는 SSH 연결을 적극적으로 수신하고 있는지 확인하려면 다음을 실행하세요.

sudo ss -lt

Rocky Linux 9 또는 8에서 SSH를 통해 원격 서버에 연결

Rocky Linux 시스템에 SSH가 적절하게 설정되면 이제 원격 서버에 대한 연결을 설정할 수 있습니다. 다양한 연결 시나리오에 SSH를 활용하는 방법에 대한 자세한 분석은 다음과 같습니다.

Rocky Linux에서 SSH를 통한 비밀번호 인증을 사용하여 연결

비밀번호 기반 인증으로 SSH를 사용하여 원격 서버에 대한 연결을 설정하려면 다음 명령을 사용하십시오.

ssh username@remote_server

여기에서 "username"을 실제 사용자 이름으로 바꾸고 "remote_server"를 원하는 원격 서버의 IP 주소 또는 호스트 이름으로 바꾸세요. 실행하면 인증을 위해 비밀번호를 입력하라는 메시지가 표시됩니다.

SSH로 공개 키 인증을 사용하여 연결

SSH는 보다 안전한 연결 방법을 선호하는 사람들을 위해 공개 키 인증을 제공합니다. 이 방법을 사용하여 연결하려면 명령은 다음과 같습니다.

ssh -i /path/to/private_key username@remote_server

이 명령에서 "/path/to/private_key"를 개인 키 파일로 연결되는 경로로 바꾸세요. 마찬가지로 "username"을 사용자 이름으로 바꾸고 "remote_server"를 원격 서버의 IP 주소 또는 호스트 이름으로 바꿉니다. 이 방법은 인증을 위해 제공된 개인 키를 대신 사용하여 비밀번호 입력의 필요성을 우회합니다.

SSH 연결을 위한 대체 포트 지정

SSH는 연결을 위해 기본적으로 포트 22를 사용하지만 일부 원격 서버는 다른 포트에서 작동할 수 있습니다. 연결 중에 대체 포트를 지정하려면 다음을 사용하십시오.

ssh -p 2222 username@remote_server

이 예에서는 "2222"를 원격 서버가 사용하는 포트 번호로 바꿉니다.

SSH를 사용하는 SCP를 통한 안전한 파일 전송

SCP(Secure Copy)는 SSH를 통해 시스템 간 파일의 보안 전송을 용이하게 하는 강력한 명령줄 유틸리티입니다. 로컬 Rocky Linux 시스템에서 원격 서버로 파일을 전송하려면 다음 명령을 사용하세요.

scp /path/to/local/file username@remote_server:/path/to/remote/directory

"/path/to/local/file"을 전송하려는 파일 경로로 바꾸십시오. 마찬가지로 "username"을 사용자 이름으로, "remote_server"를 원격 서버의 IP 주소 또는 호스트 이름으로, "/path/to/remote/directory"를 전송하려는 원격 서버의 디렉터리 경로로 조정합니다. 파일.

Rocky Linux에서 SSH 구성

SSH 구성을 최적화하면 서버의 보안과 성능이 향상될 수 있습니다. /etc/ssh/sshd_config에 있는 SSH 구성 파일에는 특정 요구 사항에 맞게 조정할 수 있는 다양한 매개 변수가 포함되어 있습니다. 다음 구성은 단지 예일 뿐이지만 서버 또는 데스크탑 설정에 따라 유용할 수 있습니다.

SSH에 대한 GSSAPI 인증 비활성화

GSSAPI 인증은 도움이 되지만 SSH 연결 설정 중에 지연이 발생할 수 있습니다. 이를 완화하려면 SSH 구성 파일에 아래 줄을 추가하여 비활성화할 수 있습니다.

GSSAPIAuthentication no

SSH에 대한 SSH 세션 시간 초과 수정

세션 시간 초과를 조정하면 비활성 SSH 세션을 관리하는 데 도움이 될 수 있습니다. 5분마다 연결 유지 메시지를 보내고 두 개의 연속 메시지에 응답하지 않으면 세션을 종료하도록 서버를 설정하려면 다음을 추가하십시오.

ClientAliveInterval 300
ClientAliveCountMax 2

SSH에 대한 루트 로그인 금지

특히 무차별 공격에 대비하여 보안을 강화하려면 루트 로그인을 비활성화하는 것이 좋습니다. 이는 다음을 통해 달성할 수 있습니다.

PermitRootLogin no

SSH에 대한 공개 키 인증 구현

공개 키 인증은 비밀번호 기반 방법보다 더 안전한 대안을 제공합니다. 이를 설정하려면 먼저 새 SSH 키 쌍을 생성해야 합니다.

ssh-keygen -t rsa -b 4096

그런 다음 공개 키를 원하는 원격 서버로 전송합니다.

ssh-copy-id user@remote_server

"user"를 사용자 이름으로 바꾸고 "remote_server"를 적절한 IP 주소 또는 호스트 이름으로 바꾸십시오. 마지막으로 SSH 구성에서 공개 키 인증을 활성화합니다.

PubkeyAuthentication yes

SSH에 대한 SSH 액세스 제한

보안 강화를 위해 SSH 액세스를 특정 사용자 또는 그룹으로 제한할 수 있습니다. 이를 구현하려면 다음을 추가하세요.

AllowUsers user1 user2
AllowGroups group1 group2

자리 표시자를 액세스 권한을 부여하려는 실제 사용자 이름이나 그룹 이름으로 바꾸세요.

SSH용 SSH 포트 변경

SSH는 기본적으로 포트 22에서 작동합니다. 그 악명을 감안할 때 이 포트를 변경하면 무단 액세스 시도를 방지할 수 있습니다. 새 포트를 할당하려면 다음을 사용하십시오.

Port <port_number>

다른 서비스가 사용하지 않는 1024~65535 사이의 포트 번호를 선택하는 것이 좋습니다.

Firewalld를 사용한 보안 SSH

VPS 또는 원격 서버 환경에서 작업할 때 중단 없는 액세스를 보장합니다. Firewalld를 변경하기 전에, 특히 원격으로 시스템에 액세스하는 경우 IP 주소를 화이트리스트에 추가하는 것이 중요합니다. 그렇게 하지 않으면 방화벽 변경 사항을 적용한 후 실수로 서버가 잠길 수 있습니다.

Firewalld에서 IP 주소를 화이트리스트에 추가하려면 다음 명령을 사용하십시오.

sudo firewall-cmd --permanent --add-source=<your_ip_address>

바꾸다 실제 IP 주소로.

IP 주소가 화이트리스트에 추가되면 SSH 서비스를 Firewalld에 안전하게 통합할 수 있습니다.

sudo firewall-cmd --add-service=ssh --permanent

필요한 조정을 수행한 후 새 Firewalld 구성을 적용합니다.

sudo firewall-cmd --reload

Firewalld에 SSH 서비스가 포함되었는지 확인하려면 다음을 실행합니다.

sudo firewall-cmd --list-services | grep ssh

이 명령은 SSH 서비스가 방화벽을 통해 정식으로 허용되는지 확인하여 원격 연결이 안전하고 액세스 가능한 상태로 유지되도록 합니다.

결론

Rocky Linux 시스템에 SSH가 성공적으로 설치 및 구성되면 서버를 원격으로 안전하게 관리할 수 있습니다. SSH 구성을 정기적으로 업데이트하고 모범 사례를 적용하여 보안을 유지하세요. 초기 설정 팁을 따르면 보다 안전하고 효율적인 원격 관리 환경을 확보할 수 있습니다. 안전한 서버 관리를 위해 SSH가 제공하는 강력한 기능을 즐겨보세요.

Joshua James

코멘트를 남겨주세요