How to Set Up and Use SSH in Linux

리눅스를 어느 정도 사용해 본 적이 있다면, SSH라는 도구에 대해 들어본 적이 있을 것입니다. 일반적으로 SSH라고 알려진 Secure Shell은 클라이언트와 원격 서버 간에 안전한 연결을 설정하기 위한 네트워크 프로토콜입니다. 이는 사용자가 네트워크를 통해 다양한 종류의 컴퓨터에 안전하게 원격으로 로그인할 수 있도록 설계되었습니다. 여기에서는 SSH 키를 쉽게 설정하고 서버에 복사하는 방법을 보여줍니다.
또한 읽어보세요: 리눅스에서 모든 활성 SSH 연결 표시하는 법
SSH 설치하기
시작하려면, SSH 서버를 설치해야 합니다. Software Center 또는 패키지 관리자를 통해 openssh-server 패키지를 찾아 설치할 수 있습니다. 또는 서버에 있거나 단순히 터미널을 사용하기를 원하는 경우, 터미널을 열고 다음 명령어를 입력하세요:
# Ubuntu/Debian
sudo apt install openssh-server
# Fedora/CentOS/REHL
sudo dnf install openssh-server
또한 읽어보세요: 리눅스 서버에서 해커를 잡기 위해 SSH 허니팟 만들기
리눅스에서 SSH 활성화하기
OpenSSH 서버가 기계에 설치되면 systemd 유닛을 시작하고 활성화해야 합니다. 이를 위해 터미널에 다음 명령어를 입력하면 됩니다:
sudo systemctl enable --now ssh
알아두면 좋은 점: 리눅스에서 SSH 파이프를 사용하여 프로그램을 연결할 수 있습니다.
SSH 키 생성하기
openssh 서버를 설치한 후, SSH 키 쌍을 생성하기 시작할 수 있습니다. 진행하기 전에 기존 키 쌍이 없도록 확인하세요. 이 과정은 기존 키를 덮어씌우기 때문입니다.
기존 키 쌍이 있는지 확인하려면 다음 명령어를 사용하세요:
ls -la ~/.ssh기존 키 쌍이 있다면, 위의 명령어는 “id_rsa” 및 “id_rsa.pub” 파일을 표시해야 합니다.

기존 SSH 키 쌍이 없음을 확인한 후, 새 키를 생성할 수 있습니다. 그렇지 않다면, 이전 키를 백업하여 잃어버리지 않도록 하세요.
새 키를 생성하려면 다음 명령어를 사용하세요:
ssh-keygen -t rsa -b 4096위의 명령어는 ssh-keygen 유틸리티를 호출하여 인터랙티브하게 SSH 키 쌍을 생성합니다. -t 옵션을 사용하여 생성할 키 유형을 지정합니다. 이 경우 RSA 키를 생성합니다.
또한 -b 옵션을 사용하여 키의 비트 수를 지정합니다. RSA 키를 사용하는 경우 최소 비트 크기는 1024입니다. 별도로 지정하지 않으면 3072 비트로 키를 생성합니다.

SSH 키를 저장할 기본 위치를 사용하는 것이 좋습니다. 이렇게 하면 SSH 연결 시 경로를 입력할 필요가 없습니다.
암호구문으로 키를 암호화하고 싶지 않다면 Enter를 눌러 건너뛰세요.
원격 서버에 키 복사하기
이제 새 SSH 키 쌍을 생성했으므로 관리하려는 원격 기계에 업로드해야 합니다.
이 작업을 가장 효율적으로 수행하는 방법은 ssh-copy-id 명령어를 사용하는 것입니다. 다음과 같은 명령어를 사용하세요:
ssh-copy-id remote_user@remote_IP별도의 파일 이름이 있는 키 파일을 사용하는 경우, 다음 명령어를 사용하여 키 파일의 경로를 지정할 수 있습니다.
ssh-copy-id -i ~/.ssh/id_rsa remote_user@remote_IP원격 기계에 처음 로그인하는 경우, 지문을 수락해야 합니다.
다음으로, 원격 사용자에 대한 SSH 비밀번호를 입력하세요.
인증이 완료되면 ssh-copy-id 명령어는 id_rsa.pub 키의 내용을 원격 기계의 “~/.ssh/authorized_keys” 파일에 추가하고 연결을 닫습니다.

원격 기계에 로그인하기
위의 모든 단계를 성공적으로 완료한 후, 비밀번호 없이 원격 서버에 로그인할 수 있습니다.
다음 명령어를 사용하여 테스트할 수 있습니다:
ssh remote_user@remote_ip키에 암호구문이 활성화되어 있지 않은 한 자동으로 로그인됩니다.
자주 묻는 질문
1. SSH는 안전한가요?
SSH는 인증된 사용자가 원격 시스템에 로그인할 수 있도록 해주는 강력한 보안 도구입니다. 그러나 구성 파일이 허용하는 한도 내에서만 안전합니다. 구성되지 않거나 잘못 구성된 SSH 서버는 해커와 제3자의 접근에 취약할 수 있습니다. 설치한 직후 SSH 구성을 안전하게 설정하세요.
2. SSH 인증 키는 어디에 있나요?
SSH 인증된 키 파일은 각 사용자의 공개 키 파일을 보유하고 있으며, 어떤 사용자가 서버에 로그인할 수 있는지를 지정합니다. 리눅스에서 인증된 키 파일은 일반적으로 사용자의 홈 디렉토리 내의 “.ssh” 폴더에 위치합니다.
3. ssh-copy-id 권한 거부 문제를 어떻게 해결하나요?
이 문제는 원격 서버에 이미 공개 키가 설정되어 있고 비밀번호 인증을 비활성화한 경우에만 발생합니다. 이 문제를 해결하려면, 먼저 서버에 로그인하여 “/etc/ssh/sshd_config” 파일에서 비밀번호 인증을 활성화한 후 ssh-copy-id 명령어를 다시 실행하세요.
새 키 파일을 복사한 후, 비밀번호 인증 옵션을 다시 비활성화하는 것을 잊지 마세요.