>시스템 튜토리얼 >리눅스 >Linux 클러스터에서 비밀번호 없이 SSH 액세스를 빠르게 구성하는 방법

Linux 클러스터에서 비밀번호 없이 SSH 액세스를 빠르게 구성하는 방법

WBOY
WBOY앞으로
2024-01-16 19:15:05541검색

Linux 클러스터에서 비밀번호 없이 SSH 액세스를 빠르게 구성하는 방법

일상 생활에서 테스트 환경이든 프로덕션 환경이든 여러 서버(클러스터)를 설치하고 구성할 때 클러스터 내 서버에 대한 비밀번호 없는 SSH 액세스를 설정해야 하는 경우가 많습니다. 예를 들어, Hadoop 및 HBase와 같은 클러스터의 설치 및 구성이나 후속 작업 및 유지 관리를 용이하게 하기 위해 SSH 비밀번호 없는 구성이 필요한 여러 서버가 있습니다.

최근 테스트 환경 구축 과정을 바탕으로 비밀번호 없이 여러 서버에 대한 상호 SSH 접속을 빠르게 구성하는 방법에 대해 설명하겠습니다. 이는 주로 호스트 이름 수정, 집계 서버의 비밀 키 구성, 다른 서버의 비밀 키 집계, 집계 키 파일 복사, Know_hosts 파일 생성, Know_hosts 파일 복사 등 여러 단계로 나뉩니다.

1. 클러스터 계획

호스트 IP

호스트 이름

10.141.93.101

dmz01

10.141.93.102

dmz02

10.141.93.103

inside01

10.141.93.104

inside02

10.141.93.105

inside03

10.141.93.106

inside04

10.141.93.107

inside05

10.141.93.108

inside06

10.141.93.109

inside07

10.141.93.110

inside08

10.141.93.111

inside09

10.141.93.112

인사이드10

10.141.93.113

inside11

10.141.93.114

inside12

10.141.93.115

inside13

10.141.93.116

인사이드14

10.141.93.117

inside15

10.141.93.118

인사이드16

클러스터에는 DMZ 영역의 서버 2개와 INSIDE 영역의 서버 16개로 총 18개의 서버가 있습니다. 주로 웹 서버 및 애플리케이션 서버, 데이터베이스, 캐시 등에 사용됩니다. 애플리케이션 배포와 클러스터 서버 관리를 용이하게 하기 위해 비밀번호가 필요 없는 SSH 상호 액세스를 위해 18개의 서버가 구성되었습니다.

2. 호스트 이름을 수정하세요

시스템이나 클라우드 호스트의 초기 설치와 관계없이 호스트 이름 "localhost" 또는 "VM_75_173_centos"는 서버 기능을 구별하기가 쉽지 않습니다. 따라서 설치, 배포 및 유지 관리가 쉽고 호스트 이름이 다시 수정됩니다.
호스트 이름을 수정하려면 다음 명령을 사용하십시오.

hostnamectl set-hostname inside01

위 명령어를 사용하여 호스트 이름을 수정하고 SSH를 통해 다시 로그인하면 호스트 이름이 수정된 것을 확인할 수 있습니다.

3. 집계 서버 비밀 키를 구성하세요

여기서 소위 집계 서버는 선택한 클러스터의 서버이며, 다른 서버는 비밀번호 신뢰 없이 이 서버로 SSH를 수행합니다. 이 문서에서는 dmz01(10.141.93.101)을 집계 서버로 선택합니다. 관계 다이어그램은 다음과 같습니다:

Linux 클러스터에서 비밀번호 없이 SSH 액세스를 빠르게 구성하는 방법

다른 서버는 dmz01에 대한 SSH 로그인을 위해 비밀번호 없는 신뢰 구성을 수행합니다. 여기서 dmz01은 집계 서버입니다.

집계 서버 비밀 키를 구성하는 명령은 다음과 같습니다.

[root@dmz01 ~]# ssh-keygen -t rsa

공개/개인 RSA 키 쌍을 생성 중입니다.

키를 저장할 파일 입력(/root/.ssh/id_rsa): [키 입력]

암호 입력(암호가 없는 경우 비어 있음): [Enter 키]

동일한 비밀번호를 다시 입력하세요: [Enter 키]

신분증은 /root/.ssh/id_rsa.

에 저장되었습니다.

공개 키가 /root/.ssh/id_rsa.pub.

에 저장되었습니다.

키 지문은 다음과 같습니다.

43:0d:08:18:ec:9e:d6:1f:ea:5f:04:30:0f:66:26:41 root@dmz01

열쇠의 랜덤아트 이미지는 다음과 같습니다.

+--[RSA 2048]----+

|oE+O .. |

|오==.오 |

| . . .

| .                            

| . 오 S |

|+ .. |

| .. |

| ..                              

|

+------+

"/root/.ssh" 디렉터리에 들어가서 "authorized_keys" 파일을 복사 및 생성하고 다음 명령을 사용하세요.

cat id_rsa.pub >>authorized_keys

결과는 다음과 같습니다.

[root@inside01 .ssh]#ll
총 12

-rw-r--r-- 1 루트 루트 395 11월 12일 16:25authorized_keys

-rw--------- 1 루트 루트 1675 11월 12일 16:24 id_rsa

-rw-r--r-- 1 루트 루트 395 11월 12일 16:24 id_rsa.pub


4. 다른 서버 키 복사

섹션 3에서 집계 서버 비밀 키를 구성한 후에는 dmz02, inside01,..., inside16을 포함한 17개 서버의 비밀 키를 구성해야 합니다. 방법은 3절의 명령어와 동일합니다. 다른 17개 서버의 비밀 키를 구성한 후 17개 서버의 비밀 키를 집계 서버 dmz01에 복사해야 합니다. 복사 명령은 다음과 같습니다:

[root@dmz01 .ssh]# ssh-copy-id -i dmz01

[root@inside01 .ssh]# ssh-copy-id -i dmz01

17개 스테이션의 비밀키를 dmz01에 순차적으로 복사하세요.


5. 집계 키 파일을 복사합니다

집계 서버의 집계된 키 파일을 다른 17개 서버의 "/root/.ssh" 디렉터리에 복사합니다.

[root@dmz01 .ssh]# scp authenticate_keys dmz02:/root/.ssh/

[root@dmz01 .ssh]# scp authenticate_keys inside01:/root/.ssh/

[root@dmz01 .ssh]# scp authenticate_keys inside16:/root/.ssh/

root@inside16의 비밀번호:
Authorized_keys 100% 7104 6.9KB/s 00:00


위 그림과 같이 scp를 통해 비밀 키 파일 "authorized_keys"를 복사하세요.
SSH 비밀번호가 필요 없는 인증:

[root@dmz01 .ssh]# ssh dmz02
호스트 'dmz02 (10.141.68.179)'의 진위를 확인할 수 없습니다.

ECDSA 키 지문은 22:49:b2:5c:7c:8f:73:56:89:29:8a:bd:56:49:74:66입니다.
계속 연결하시겠습니까(예/아니요)? 경고: 알려진 호스트 목록에 'dmz02,10.141.68.179'(ECDSA)가 영구적으로 추가되었습니다.

마지막 로그인: 2016년 11월 12일 토요일 17:19:19 10.141.93.186

위에서 볼 수 있듯이 "ssh dmz02"는 ssh가 dmz02 서버에 로그인할 때 비밀번호를 입력할 필요가 없습니다. 하지만 dmz02를 dmz01의 "호스트 확인" 목록 파일에 추가해야 한다는 메시지가 표시됩니다. 이렇게 하면 다음에 SSH를 통해 dmz02에 액세스할 때 알려진 호스트 목록에 추가하라는 메시지가 더 이상 표시되지 않습니다.

6. Know_hosts 파일 생성

집계 서버에서 다른 17개 서버로 SSH를 통해 이전 비밀번호 없는 설정을 진행하세요. 비밀번호를 입력할 필요는 없지만 알려진 호스트 목록에 가입하라는 메시지가 표시됩니다.
참고: 자신의 dmz01을 알려진 호스트 파일에 추가하려면 "[root@dmz01.ssh]# ssh dmz01"도 입력해야 합니다.

최종 생성된 Know_hosts 파일의 내용은 다음과 같습니다.

Linux 클러스터에서 비밀번호 없이 SSH 액세스를 빠르게 구성하는 방법

know_hosts 파일의 줄 수 보기:

[root@dmz01 .ssh]# wc -lknown_hosts
알려진 호스트 18명

각 호스트마다 한 줄이 표시되어 dmz01이 자신을 포함하여 18개 서버를 모두 알고 있음을 나타냅니다.

7. Know_hosts 파일을 복사하세요

섹션 6 이후 dmz01에 대해 18개 서버의 알려진 호스트 설정을 생성하고 dmz01의 /root/.ssh/know_hosts 파일을 다른 17개 서버에 scp 복사합니다.
SSH 비밀번호가 필요 없는 로그인 확인:

[root@dmz01 .ssh]# ssh inside10
마지막 로그인: 2016년 11월 15일 화요일 15:01:18 10.141.93.186
[root@inside10 ~]# ssh inside15
마지막 로그인: 2016년 11월 12일 토요일 17:52:29 10.141.93.186
[root@inside15 ~]# ssh dmz02
마지막 로그인: 2016년 11월 12일 토요일 20:05:59 10.141.93.186
[root@dmz02 ~]#ssh dmz01
마지막 로그인: 2016년 11월 17일 목요일 23:56:05 218.10.89.246
[root@dmz01 ~]# ssh inside15
마지막 로그인: 2016년 11월 18일 금요일 00:23:54 10.141.114.152

Ssh 비밀번호가 필요 없는 로그인 순서: dmz01àinside10àinside15àdmz02àdmz01àinside15.

8. 요약

이 문서에는 주로 다음 명령이 포함됩니다.

hostnamectl set-hostname inside01
ssh-keygen -t rsa
SSH-복사-ID -i dmz01

이 글은 여기까지입니다. 앞으로도 이 사이트를 지원해 주시기 바랍니다.

위 내용은 Linux 클러스터에서 비밀번호 없이 SSH 액세스를 빠르게 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제