확인 방법: 1. 텍스트 편집기를 사용하여 "/etc/ssh/sshd_config"를 열고 "프로토콜" 필드를 확인합니다. "프로토콜 2"가 표시되면 서버가 "프로토콜 1. "가 표시되면 서버가 SSH2도 지원한다는 의미입니다. 둘 다 지원됩니다. 2. SSH가 특정 SSH 프로토콜을 사용하도록 강제하고 SSH 서버의 응답을 확인하여 판단합니다. 3. "sudo scanssh -s ssh ip address" 구문과 함께 scanssh 도구를 사용합니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
SSH(Secure Shell)를 사용하면 암호화된 보안 통신 채널을 통해 원격 로그인 또는 원격 명령 실행이 가능합니다. SSH는 telnet, rsh, rlogin과 같은 안전하지 않은 일반 텍스트 프로토콜을 대체하도록 설계되었습니다. SSH는 인증, 암호화, 데이터 무결성, 승인 및 전달/터널링과 같은 다양한 필수 기능을 제공합니다.
SSH는 두 가지 버전 1과 2(SSH1과 SSH2)로 존재합니다. 이 둘의 차이점은 무엇인가요? Linux에서 SSH 프로토콜 버전을 확인하는 방법은 무엇입니까?
SSH1 대 SSH2
SSH 프로토콜 사양에는 약간의 사소한 버전 차이가 있지만 SSH1(버전 1.XX)과 SSH2(버전 2.00)의 두 가지 주요 버전이 있습니다.
사실 SSH1과 SSH2는 완전히 다르며 호환되지 않는 두 가지 프로토콜입니다. SSH2는 SSH1의 여러 측면을 크게 향상시킵니다. 우선 SSH는 매크로 설계로 인증, 전송, 연결 등 다양한 기능이 단일 프로토콜에 패키지되어 있습니다. SSH2는 MAC 기반 무결성 확인, 유연한 세션 키 업데이트 등 SSH1보다 강력한 보안 기능을 제공합니다. , 완전히 협상된 암호화 알고리즘, 공개 키 인증서 등이 있습니다.
SSH2는 IETF에 의해 표준화되었으며 그 구현은 업계에서 널리 배포되고 수용됩니다. SSH1에 비해 SSH2의 인기와 암호화 이점으로 인해 많은 제품이 SSH1에 대한 지원을 중단했습니다. 이 기사를 작성하는 시점에도 OpenSSH는 여전히 SSH1 및 SSH2를 지원하지만 모든 최신 Linux 배포판에서 OpenSSH 서버는 기본적으로 SSH1을 비활성화합니다.
Linux SSH 버전 확인
방법 1
로컬 OpenSSH 서버에서 지원하는 SSH 프로토콜 버전을 확인하고 싶다면 /etc/ssh/sshd_config 파일을 참고하시면 됩니다. 텍스트 편집기로 /etc/ssh/sshd_config를 열고 "프로토콜" 필드를 살펴보세요.
다음과 같이 표시된다면 해당 서버는 SSH2만 지원한다는 의미입니다.
Protocol 2
다음과 같이 표시되면 서버가 SSH1과 SSH2를 모두 지원한다는 의미입니다.
Protocol 1
방법 2
원격 서버에서 OpenSSH 서비스가 실행 중이어서 /etc/ssh/sshd_config에 접근할 수 없는 경우. ssh라는 SSH 클라이언트를 사용하여 지원되는 프로토콜을 확인할 수 있습니다. 특히 ssh가 특정 SSH 프로토콜을 사용하도록 강제한 다음 SSH 서버의 응답을 확인합니다.
다음 명령은 ssh가 SSH1을 사용하도록 강제합니다:
ssh -1 user@remote_server
다음 명령은 ssh가 SSH2를 사용하도록 강제합니다:
ssh -2 user@remote_server
원격 SSH 서버가 SSH2만 지원하는 경우 "-1"이 포함된 첫 번째 옵션은 다음 오류와 같이 나타납니다. 메시지:
Protocol major versions differ: 1 vs. 2
SSH 서버가 SSH1과 SSH2를 모두 지원하는 경우 두 명령이 모두 유효합니다.
방법 3
버전을 확인하는 또 다른 방법은 scanssh라는 SSH 검색 도구를 실행하는 것입니다. 이 명령줄 도구는 SSH1 호환 SSH 서버를 업그레이드하기 위해 IP 주소 그룹 또는 전체 로컬 네트워크를 확인하려는 경우에 유용합니다.
다음은 기본 SSH 버전 스캐닝 구문입니다.
sudo scanssh -s ssh -n [ports] [IP addresses or CIDR prefix]
"-n" 옵션은 스캔할 SSH 포트를 지정할 수 있습니다. Duhao 분리를 사용하여 여러 포트를 스캔할 수 있습니다. 이 옵션이 없으면 scanssh는 기본적으로 포트 22를 스캔합니다.
아래 명령을 사용하여 192.168.1.0/24 로컬 네트워크에서 SSH 서버를 검색하고 SSH 프로토콜 v 버전을 확인하세요.
sudo scan -s ssh 192.168.1.0/24
scanssh가 특정 IP에 대해 "SSH-1.XX-XXXX"를 보고하는 경우 주소, 이는 해당 SSH 서버에서 지원하는 최소 버전이 SSH1임을 의미합니다. 원격 서버가 SSH2만 지원하는 경우 scanssh는 "SSH-2.0-XXXX"를 표시합니다.
관련 추천: "Linux 비디오 튜토리얼"
위 내용은 Linux에서 SSH 버전을 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!