Ssh 를 사용하여 원격 서버에 연결하는 방법을 묻습니다.

현재 원격 연결 서버에는 몇 가지 유형이 있습니다.?

① 텍스트 인터페이스의 일반 텍스트 전송: 텔넷과 RSH 를 위주로 거의 사용되지 않습니다. -응?

② 텍스트 인터페이스 암호화 전송: SSH 가 주요 방식이며 위의 일반 텍스트 전송 방식을 대체했습니다. -응?

③ 그래픽 인터페이스: XDMCP, VNC, XRDP 등. 매우 흔합니다. -응?

이 글은 실전에만 불과하며, 보편화되지 않은 개념 지식이다. 그래서 저는 SSH 만 설명했습니다. 제가 일하는 데 가장 많이 쓰이는 기술입니다. SFTP 및 VNC 기술에 대한 다른 블로그를 참고하세요. -응?

자, 먼저 SSH 관련 기술을 살펴 보겠습니다.

SSH, 전체 영어는 보안 쉘 프로토콜 (Secure Shell Protocol) 입니다. SSH 는 현재 회사에서 기본적으로 사용하고 있는 텍스트 인터페이스 암호화 전송 기술로 비대칭 키 체계를 채택하고 있습니다.

SSH 의 원리에 관해서는 제 다른 블로그를 참고하실 수 있습니다. 링크를 여기에 붙이겠습니다.

SSH 원칙

(1) 먼저 sshd 서비스 (SSH 원격 연결이 시작되어야 하는 서비스이며 시스템 자체에 속함) 를 살펴보겠습니다. 기본적으로 이 sshd 서비스는 자동으로 시작됩니다.

다시 시작하고 싶다면? -응?

네, 보세요.

두 가지 재시작 방법 모두 가능합니다!

⑵ 호스트에 직접 원격으로 로그인하라는 명령:?

Ssh -f -o 매개 변수 -p 비표준 포트 account @IP 명령?

그 중:?

-f: 원격 호스트에 로그인하지 않고 다음 명령과 함께 명령을 직접 보내야 합니까?

-o 매개변수: 주요 매개변수는?

ConnectTimeout= seconds: 접속이 대기하는 시간 (초) 으로 대기 시간이 줄어듭니다. -응?

Strict hostkey checking = yes | no | ask: 기본값은 ask 입니다. 공개 키가 kNown_hosts 에 능동적으로 가입하도록 하려면 no ...?

-p: sshd 서비스가 비표준 포트에서 시작되는 경우 이 매개 변수가 필요합니다.

예를 하나 들어보죠.

① 상대방의 호스트에 직접 로그인:?

루트 사용자로 다른 호스트에 로그인하는 경우 다음 두 가지 방법으로 로그인할 수 있습니다.

참고: 일반 사용자가 로그인하는 경우 @ 를 추가하는 두 번째 방법을 사용해야 합니다.

(2) 상대방의 호스트에 로그인하여 명령을 실행하고 떠나는 방식. 예를 들어 원격 호스트에서 cat /etc/passwd 명령을 실행하여 로컬 호스트에 파일을 표시합니다.

(3) 다른 호스트에 로그인하지 말고, 다른 호스트가 명령을 실행하도록 하고, 즉시 로컬 시스템으로 돌아가서 계속 작업하십시오.

④ known_hosts 를 삭제한 후 root 를 다시 사용하여 컴퓨터에 연결하면 공개 키 레코드가 자동으로 추가됩니다.

너는 반드시 말해야 한다, 사기꾼은 알아차리지 못했지? 공개 키 레코드가 자동으로 추가되지 않는 이유는 무엇입니까? 휴대폰 선택 예/아니오를 알리는 메시지를 녹음하려면 어떻게 해야 합니까? 걱정하지 마라, 우리의' -o' 매개변수가 곧 탄생할 것이다! -o 를 사용하면 더 이상 yes|no 를 선택하는 대신 yes 를 자동으로 선택하여 ~/에 추가할 수 있습니다. Ssh/ 알려진 호스트.

예, 이번에는 프롬프트 없이 예 | 아니오! -응?

⑤SSHD 서버 세부 구성

Centos 의 기본 SSHD 서비스는 실제로 매우 안전합니다. Centos 5 이후의 기본 SSH 프로토콜 버전을 확인합니다. X 는 V2, 즉 위에서 언급한 프로토콜 2 이며 기본 포트는 22 입니다. 이것들은 충분하지 않습니다. 실제 작업 서버의 경우 루트 로그인 권한을 취소하는 것이 좋습니다.

빨간색 상자에서 "예" 를 "아니오" 로 변경하여 루트 사용자의 로그인 권한을 취소합니다.

다음은 SSH 사용자가 비밀번호 없이 바로 로그인할 수 있도록 하는 매우 유용한 기술입니다. 어떤 사람들은 이것이 무슨 용도로 쓰이는 것이라고 말할까요? 생각해 보십시오. crontab 를 사용하여 정기적으로 백업 또는 복제 작업을 수행하려면 SSH 에 연결할 때마다 상대방의 호스트 비밀번호를 입력해야 하는데, 이는 crontab 에서 수행할 수 없습니다. 어떻게 해야 합니까? 비밀번호를 입력하지 않으면 조작만 가능합니다. -응?

이 방법은 다음과 같습니다.

① 클라이언트는 두 개의 키를 설정합니까?

우리는 클라이언트에 사용자 user 1 작업을 만들고 서버측에서 user 1 원격 액세스 user2 를 사용했습니다. 다음은 192. 168. 1.118 을 클라이언트로,/kloc -응?

먼저 클라이언트에 두 개의 키를 설정하시겠습니까?

이 명령은 다음과 같습니다.

주의해야 할 점은 다음과 같습니다.

(1) ~/.ssh 디렉토리 권한은 700 이어야 합니까?

ID _ RSA (개인 키 파일) 에 대한 권한은 -rw- 여야 하며, 소유자는 현재 로그인한 사용자여야 합니다. 그렇지 않으면 향후 키 일치 중 위험으로 간주되어 공용 키 쌍 메커니즘을 통해 성공적으로 연결할 수 없습니다. -응?

위의 두 가지 기본 사항은 일반적으로 정확합니다.

(2) 공개 키 파일 데이터를 서버에 업로드합니다.

③ 공개 키 파일을 서버측의 올바른 디렉토리에 넣고 파일 이름이 정확한지 확인합니다.

공개 키 파일의 내용을 서버측 사용자인 authorized_keys 파일에 첨부해야 합니다.

참고: authorized_keys 파일에 대한 권한은 644 여야 합니다.