Linux 서버에 연결하는 기본 방법은 다음과 같습니다. SSH 프로토콜. 이 유형의 연결은 모든 데이터가 암호화되어 전송되므로 안전합니다. 에 SSH 연결 설정 연결하려는 원격 서버와 사용자 측의 클라이언트에서 구성해야 합니다. SSH 연결을 위한 소프트웨어가 많이 있습니다. Linux의 경우 OpenSSH 패키지가 가장 인기가 있고 Windows의 경우 대부분 PuTTY를 사용합니다.
Ubuntu Server 18.04를 예로 들어 서버 구성을 자세히 살펴보고, 그런 다음 Linux와 Windows에서 서버에 연결해 보겠습니다.
우리가 하는 모든 일은 일반 사용자의 계정에서 이루어집니다. 이 경우, 우리는 사용자 “미하일"및"뿌리” 계정은 기본적으로 비활성화되어 있습니다.
서버 측 설정
다음 명령을 실행하여 패키지를 설정합니다.
sudo apt install openssh-server
설치가 완료되면 서비스가 실행 중인지 확인하세요. 다음 명령을 사용하세요.
systemctl status sshd
상태 "활동 중 (실행 중)"는 서비스가 활성화되어 정상적으로 작동하고 있음을 의미합니다.
방화벽으로 인해 들어오는 연결이 차단되는 것을 방지하려면 방화벽을 비활성화해야 합니다. 이 글에서는 네트워크 방화벽을 구성하지 않습니다.
다음 명령을 사용하세요:
sudo ufw disable
이 단계에서는 이미 서버에 연결할 수 있습니다. 기본 설정으로 서버는 암호 기반 인증을 사용하여 표준 포트 22에 연결할 수 있습니다.
Linux에서 SSH 연결
일반적으로 OpenSSH 클라이언트는 기본적으로 Linux에 설치되며 추가 수동 구성이 필요하지 않습니다. ssh 명령의 도움으로 터미널에서 연결을 설정할 수 있습니다. 이 경우 매개변수는 원격 서버의 사용자 이름과 IP 주소입니다. 예시로 사용하는 테스트 서버에는 "mihail"이라는 계정이 하나뿐이므로 이것을 사용하겠습니다.
ssh [email protected]
첫 번째 연결에서는 서버의 공개 키를 데이터베이스에 추가했는지 확인해야 하므로 "라고 응답합니다.예”. 그 후에 비밀번호를 입력할 수 있습니다. 연결이 성공적으로 이루어지면 서버 명령줄의 환영 텍스트가 표시됩니다. 이제 모든 명령이 원격 서버에서 바로 실행됩니다.
Windows에서 SSH
Putty를 열고 연결 매개변수를 설정합니다. 스위치 “연결 유형”로 바뀌었습니다 SSH. IP 주소를 “호스트 이름” 필드, 기본값 22 "로포트"을 클릭하고"엽니다".
첫 번째 연결에서 퍼티 이 서버를 신뢰하는지 확인하라는 메시지가 표시되므로 "가능"
로그인과 비밀번호를 입력하면 원격 서버의 명령줄이 표시됩니다.
키로 인증. 보안 수준 증가
클라이언트가 SSH를 통해 서버에 보안 연결을 설정하려고 할 때, 연결을 허용하기 전에 서버는 클라이언트를 인증(확인)해야 합니다. 앞서 언급했듯이, 암호 기반 인증은 일반적으로 기본적으로 사용됩니다. 무차별 대입 공격이 항상 있기 때문에 강력한 보안을 제공하지 않습니다. 게다가, 암호 인증은 스크립트를 사용하는 SSH 연결에는 적용되지 않습니다.
이러한 유형의 작업에는 키에 의한 특별한 인증 방법이 있습니다. 요점은 클라이언트가 개인 키와 공개 키를 생성한 다음 공개 키를 서버로 전송한다는 것입니다. 그 후에는 공개 키와 개인 클라이언트 키를 기반으로 인증이 수행되므로 서버에 연결하는 데 비밀번호가 필요하지 않습니다. 우수한 수준의 보안을 제공하려면 개인 키에 대한 액세스를 제한해야 합니다. 개인 키는 클라이언트 측에 저장되고 네트워크를 통해 전송되지 않기 때문에 이 방법이 더 안전하다고 여겨집니다.
Linux에서 키로 인증하기
ssh-keygen 유틸리티 소프트웨어의 도움으로 클라이언트에서 공개 키와 개인 키를 생성해 보겠습니다. 이 도구는 개인 키 경로를 변경하고 추가 보안을 위해 패스프레이즈를 입력하라고 제안합니다. 모든 요청에서 Enter를 눌러 모든 매개변수를 기본값으로 둡니다.
그 결과, .ssh 폴더의 홈 디렉토리에서 두 개의 파일이 생성된 것을 확인할 수 있습니다. 아이디_rsa id_rsa.pub 여기에는 개인 키와 공개 키가 각각 포함되어 있습니다.
그 후, 공개 키를 서버로 보내야 합니다. 그러기 위해서는 “id_rsa.pub”파일을 “로”~/.ssh/authorized_keys” 서버에 있는 파일입니다. “의 도움으로 가장 쉬운 방법으로 가보겠습니다.ssh-copy-id” 도구. 일반 연결의 경우와 마찬가지로 서버의 로그인과 IP 주소를 입력합니다. 비밀번호를 입력하면 클라이언트의 공개 키가 자동으로 서버에 복사됩니다. 다음 명령을 실행합니다.
ssh-copy-id [email protected]
위의 모든 작업을 완료한 후에는 서버에서 더 이상 비밀번호를 입력할 필요가 없습니다.
Windows에서 키로 인증
엽니다 PUTTYGEN 를 클릭하고 "생성”. 키를 생성하려면 마우스를 화면 위로 옮기기만 하면 도구가 무작위로 키를 생성합니다.
키가 생성된 후 "개인 키 저장”를 입력하고 디스크에 개인 키가 있는 파일에 저장합니다. 원하는 경로를 설정할 수 있지만, 잠시 후에 Putty에서 지정해야 합니다. 그런 다음 창 상단에서 공개 키를 복사합니다.
공개키를 터미널에 복사해서 보내보자. Open 퍼티 그리고 평소처럼 서버에 연결합니다. 이제 “.ssh/authorized_keys”를 선택하고 다른 사용자가 파일에 접근하는 것을 제한하여 작성자만 사용할 수 있도록 합니다.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
파일을 만든 후 클라이언트의 공개 키를 여기에 넣습니다. 이전 단계에서 공개 키를 클립보드에 복사했습니다. 클립보드에 있는 내용을 파일에 기록하려면 cat 명령과 출력 리디렉션을 사용합니다.
cat > .ssh/authorized_keys
명령을 입력한 후 터미널 창에서 마우스 오른쪽 버튼을 클릭하고 클립보드에 있는 내용을 붙여넣습니다. 입력을 확인하려면 "Ctrl + D” 바로가기를 클릭하고 서버와의 연결을 끊습니다.
이제 Putty에서 개인키의 경로를 지정하고 서버에 다시 연결해 보겠습니다.
이제부터 서버에 연결하려면 사용자 이름만 입력하면 됩니다. 올바른 개인 키가 없는 다른 기기에서 서버에 연결하려고 하면 서버에서 암호를 요청합니다. 키 기반 인증이 설정된 후에는 암호로 액세스를 허용하지 않을 수 있습니다.