초창기 원격 연결 서버는 Telnet, RSH 등의 일반 텍스트 전송 소프트웨어를 사용했으나 나중에 SSH 프로토콜로 대체되었습니다. SSH 서비스는 데이터 전송 전에 정보 암호화를 제공하여 보안을 크게 향상시킬 수 있습니다. SSH에는 두 가지 주요 기능이 있습니다.
원격 호스트에 연결하고 호스트의 리소스를 관리할 수 있습니다.
FTP 서비스와 유사하게 파일을 전송할 수 있습니다.
SSH 암호화 기술
SSH 비대칭 암호화 기술이 사용됩니다. 대칭 암호화와 비대칭 암호화가 무엇인지에 대해 더 깊이 알고 싶은 독자는 Google을 직접 검색해야 합니다. 비대칭 암호화는 주로 공개키와 개인키를 통해 이루어지며, 공개키는 전송된 정보를 암호화하고, 정보를 받은 후 개인키를 사용하여 정보를 해독합니다.
공개 키: 상대방 호스트에게 보내는 정보를 암호화하여 통신하려는 다른 호스트에게 호스트의 공개 키를 제공하는 행위입니다.
개인 키: 원격 호스트가 공개 키로 암호화된 정보를 현재 호스트에 보내면 현재 호스트는 자신의 개인 키를 사용하여 정보를 해독합니다. 개인 키가 다른 호스트에게 알려지면 안 된다는 점을 기억하세요.
다음 다이어그램은 두 호스트가 통신하는 방법을 보여줍니다.
먼저 호스트 A가 호스트 B에 정보를 보내려고 할 때 먼저 호스트 B의 공개 키를 사용하여 보낼 정보를 암호화합니다. 호스트 A가 보낸 암호화된 정보는 자신의 개인 키를 사용하여 정보를 해독합니다. 마찬가지로 호스트 B가 호스트 A에게 정보를 보낼 때 먼저 호스트 A의 공개 키를 사용하여 정보를 암호화하고, 암호화된 정보를 받은 호스트 A는 자신의 개인 키를 사용하여 이를 해독합니다.
원격 호스트에 접속하는 과정
로컬 클라이언트가 원격 서버에 어떻게 접속하는지 살펴보자
서버가 처음 sshd 서비스를 시작할 때 공개키와 개인키는 자동으로 생성됩니다. 이러한 파일은 /etc/ssh/ 디렉터리에 저장됩니다.
로컬 호스트는 터미널 도구나 기타 방법을 통해 서버에 대한 연결 요청을 시작합니다.
클라이언트의 요청을 받은 후 서버는 공개 키를 클라이언트에 보냅니다.
클라이언트가 이전에 서버의 공개 키를 저장하지 않은 경우 공개 키를 클라이언트에 저장합니다. Windows 시스템의 경우 공개 키는 C:Usersadmin.sshknown_hosts 파일에 저장됩니다. Linux 호스트인 경우 홈 디렉터리의 .ssh/know_hosts 파일에 저장됩니다.
클라이언트는 자신의 공개 키를 서버에 보내고, 서버는 클라이언트의 공개 키를 저장합니다.
클라이언트와 서버가 통신합니다.
더 많은 관련 기술 기사를 보려면 linux 시스템 튜토리얼 칼럼을 방문하세요!
위 내용은 SSH란 무엇이며 정보를 어떻게 암호화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!