소개 | SSH는 버전 1과 2(SSH1과 SSH2) 두 가지로 존재하는 줄 알았습니다. 이 둘의 차이점은 무엇인가요? Linux에서 SSH 프로토콜 버전을 어떻게 확인할 수 있나요? |
Secure Shell(SSH)을 사용하면 암호화된 보안 통신 채널을 통해 원격 로그인 또는 원격 명령 실행이 가능합니다. SSH는 telnet, rsh, rlogin과 같은 안전하지 않은 일반 텍스트 프로토콜을 대체하도록 설계되었습니다. SSH는 인증, 암호화, 데이터 무결성, 승인 및 전달/터널링과 같은 다양한 필수 기능을 제공합니다.
SSH1 대 SSH2SSH 프로토콜 사양에는 몇 가지 마이너 버전 차이가 있지만 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을 비활성화합니다.
방법 1로컬 OpenSSH 서버에서 지원하는 SSH 프로토콜 버전을 확인하려면 /etc/ssh/sshd_config 파일을 참고하세요. 텍스트 편집기로 /etc/ssh/sshd_config를 열고 "프로토콜" 필드를 살펴보세요.
다음과 같이 표시된다면 해당 서버는 SSH2만 지원한다는 의미입니다.
으아아아다음과 같이 표시되면 서버가 SSH1과 SSH2를 모두 지원한다는 의미입니다.
으아아아 방법 2OpenSSH 서비스가 원격 서버에서 실행 중이어서 /etc/ssh/sshd_config에 액세스할 수 없는 경우. ssh라는 SSH 클라이언트를 사용하여 지원되는 프로토콜을 확인할 수 있습니다. 특히 ssh가 특정 SSH 프로토콜을 사용하도록 강제한 다음 SSH 서버의 응답을 확인합니다.
다음 명령은 SSH가 SSH1을 사용하도록 강제합니다.
으아아아다음 명령은 SSH가 SSH2를 사용하도록 강제합니다.
으아아아원격 SSH 서버가 SSH2만 지원하는 경우 "-1"이 포함된 첫 번째 옵션이 다음 오류 메시지처럼 나타납니다.
으아아아SSH 서버가 SSH1과 SSH2를 모두 지원하는 경우 두 명령이 모두 유효합니다.
방법 3버전을 확인하는 또 다른 방법은 scanssh라는 SSH 검색 도구를 실행하는 것입니다. 이 명령줄 도구는 SSH1 호환 SSH 서버를 업그레이드하기 위해 IP 주소 그룹 또는 전체 로컬 네트워크를 확인하려는 경우에 유용합니다.
다음은 기본 SSH 버전 스캐닝 구문입니다.
으아아아"-n" 옵션은 스캔할 SSH 포트를 지정할 수 있습니다. Duhao 분리를 사용하여 여러 포트를 스캔할 수 있습니다. 이 옵션이 없으면 scanssh는 기본적으로 포트 22를 스캔합니다.
아래 명령을 사용하여 192.168.1.0/24 로컬 네트워크에서 SSH 서버를 검색하고 SSH 프로토콜 v 버전을 확인하세요.
으아아아scanssh가 특정 IP 주소에 대해 "SSH-1.XX-XXXX"를 보고하는 경우 이는 해당 SSH 서버에서 지원하는 최소 버전이 SSH1임을 의미합니다. 원격 서버가 SSH2만 지원하는 경우 scanssh는 "SSH-2.0-"을 표시합니다. XXXX".
위 내용은 Linux 시스템에서 SSH 버전을 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!