웹사이트 검색

Linux에서 OpenSSH 서버를 설치하고 구성하는 방법


네트워크 관리자가 되려면 rlogin, telnetssh와 같은 원격 로그인 프로토콜에 대한 깊은 지식이 필요합니다. 이 글에서 제가 다룰 것은 ssh입니다.

SSH는 SCP(Secure Copy) 명령을 사용하여 다른 컴퓨터에서 원격으로 작업하거나 컴퓨터 간에 데이터를 전송하는 데 사용되는 보안 원격 프로토콜입니다. 그런데 OpenSSH가 무엇이고 Linux 배포판에 어떻게 설치하나요?

OpenSSH란 무엇입니까?

OpenSSHssh 프로토콜을 사용하여 컴퓨터 네트워크를 통해 안전하고 암호화된 통신을 제공하는 데 사용되는 무료 오픈 소스 컴퓨터 도구 세트입니다. 컴퓨터와 프로토콜을 처음 접하는 많은 사람들은 OpenSSH에 대해 오해를 합니다. OpenSSH는 프로토콜이라고 생각하지만 사실은 그렇지 않습니다. Ssh 프로토콜<을 사용하는 일련의 컴퓨터 프로그램입니다. /강하게>.

OpenSSHOpen BSD 그룹에 의해 개발되었으며 간소화된 BSD 라이센스에 따라 출시됩니다. 시스템 관리자 사이에서 OpenSSH를 그렇게 많이 사용할 수 있게 만든 주요 요인은 다중 플랫폼 기능과 매우 유용하고 멋진 기능입니다.

최신 버전은 2023년 3월 15일에 출시된 OpenSSH 9.3이며 많은 새로운 기능과 패치가 포함되어 있으므로 이미 OpenSSH를 사용하고 계시다면 컴퓨터를 관리하려면 업그레이드를 수행하거나 소스에서 SSH를 설치하는 것이 좋습니다.

Telnet이나 FTP를 통해 OpenSSH를 사용하는 이유는 무엇입니까?

ftpTelnet 대신 OpenSSH 도구를 사용해야 하는 가장 중요한 이유는 OpenSSH를 사용하는 모든 통신 및 사용자 자격 증명이 > 암호화되어 있으며 중간자 공격으로부터도 보호됩니다. 제3자가 연결을 가로채려고 하면 OpenSSH가 이를 감지하고 이에 대해 알려줍니다.

OpenSSH 기능

  • 보안 통신
  • 강력한 암호화(3DES, Blowfish, AES, Arcfour)
  • X11 전달(X Window System 트래픽 암호화)
  • 포트 전달(레거시 프로토콜의 암호화된 채널)
  • 강력한 인증(공개 키, 일회용 비밀번호 및 Kerberos 인증)
  • 에이전트 전달(Single-Sign-On)
  • 상호 운용성(SSH 1.3, 1.52.0 프로토콜 표준 준수)
  • SSH1SSH2 프로토콜 모두에서 SFTP 클라이언트 및 서버를 지원합니다.
  • KerberosAFS 티켓 전달
  • 데이터 압축

Linux에 OpenSSH 서버 설치

OpenSSH를 설치하려면 터미널을 열고 슈퍼유저 권한으로 다음 명령을 실행하세요.

데비안/우분투/리눅스 민트에서

Debian 기반 배포판에서는 다음 apt 명령을 사용하여 표시된 대로 openssh 서버와 클라이언트를 설치할 수 있습니다.

sudo apt install openssh-server openssh-client

RHEL/Centos/Fedora에서

RedHat 기반 배포에서는 다음 yum 명령을 입력하여 openssh 서버와 클라이언트를 설치합니다.

yum -y install openssh-server openssh-clients

Linux에서 OpenSSH 서버 구성

이제 ssh config 파일을 통해 OpenSSH 동작을 구성할 차례입니다. 하지만 /etc/ssh/sshd_config 파일을 편집하기 전에 백업해야 합니다. 사본이므로 실수가 있을 경우를 대비해 원본을 보유합니다.

터미널을 열고 다음 cp 명령을 실행하여 원본 sshd 구성 파일의 복사본을 만듭니다.

sudo cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.original_copy

내가 입력한 명령에서 볼 수 있듯이 original_copy 접미사를 추가했기 때문에 이 파일을 볼 때마다 이 파일이 sshd 구성 파일의 원본임을 알 수 있습니다.

OpenSSH에 어떻게 연결하나요?

더 진행하기 전에 openssh 서버가 작동하는지 확인해야 합니다. 그렇게하는 방법? openssh 클라이언트를 통해 localhost에서 openssh 서버에 연결을 시도하거나 포트 스캔을 수행할 수 있습니다. Strong>nmap이지만 저는 TCP/IP Swiss Army Knife라고도 알려진 netcat이라는 작은 도구를 사용하는 것을 좋아합니다. . 저는 제 컴퓨터에서 이 놀라운 도구를 사용하여 작업하는 것을 좋아하므로 여러분께 보여드리겠습니다.

nc -v -z 127.0.0.1 22

netcat 결과를 참조하면 ssh 서비스가 내 컴퓨터의 포트 22에서 실행되고 있습니다. 매우 좋은! 22 대신 다른 포트를 사용하려면 어떻게 해야 합니까? sshd 구성 파일을 편집하면 됩니다.

SSH 포트 변경

기본 TCP 포트 22 대신 TCP 포트 13에서 수신 대기하도록 OpenSSH를 설정하세요. 즐겨 사용하는 텍스트 편집기로 sshd_config 파일을 열고 포트 지시문을 13으로 변경합니다.

Port 13

다음 명령을 입력하고 netcat을 실행하여 수신하도록 설정한 포트가 열려 있는지 확인하여 구성 파일이 변경될 수 있도록 OpenSSH 서버를 다시 시작합니다.

sudo systemctl restart sshd

openssh 서버가 포트 13에서 수신 대기하는지 확인해야 합니까? 이 확인이 필요하므로 작업을 수행하는 데 도움이 되는 멋진 도구인 netcat을 호출합니다.

nc -v -z 127.0.0.1 13

openssh 서버에 멋진 로그인 배너를 표시하고 싶으십니까? /etc/issue.net 파일의 내용을 수정하면 됩니다.

nano /etc/issue.net

다음 배너 메시지를 붙여넣으세요.

Authorized access only!

If you are not authorized to access or use this system, disconnect now!

그런 다음 sshd 구성 파일 내에 다음 줄을 추가합니다.

Banner /etc/issue.net

SSH 구성을 변경한 후에는 반드시 다시 시작하세요.

sudo systemctl restart sshd
결론

openssh 서버를 구성하는 방식과 관련하여 openssh 도구로 할 수 있는 일이 많습니다. 상상력이 한계라고 말할 수 있습니다!