Linux/UNIX 에서 ssh - keygen 설정 SSH 암호 없 는 로그 인

1. SSH 안내
    SSH 는 원 격 로그 인 세 션 과 다른 네트워크 서비스 에 보안 을 제공 하 는 프로 토 콜 입 니 다.기본 상태 에서 SSH 링크 는 암호 인증 이 필요 합 니 다. 시스템 인증 (즉 공개 키 - 비밀 키) 을 추가 하여 수정 할 수 있 습 니 다. 수정 후 시스템 간 전환 을 통 해 암호 입력 과 SSH 인증 을 피 할 수 있 습 니 다.
2. 공개 키 인증 의 기본 사상:
    정보 암호 화 와 복호화 에 대해 서로 다른 키 를 사용 합 니 다. 이 키 는 각각 private key 와 Public key 라 고 부 릅 니 다. 그 중에서 Public key 는 로그 인 하려 는 서버 에 저장 되 고 private key 는 특정한 클 라 이언 트 기기 에 저 장 됩 니 다.
    클 라 이언 트 가 서버 에 안전 한 연결 을 요청 할 때 먼저 자신의 Public key 를 보 냅 니 다. 만약 에 이 Public key 가 서버 에 의 해 허용 된다 면 서버 는 Public key 로 암호 화 된 무 작위 데 이 터 를 클 라 이언 트 에 게 보 냅 니 다. 이 데 이 터 는 private key 로 만 복호화 할 수 있 고 클 라 이언 트 는 복호화 후의 정 보 를 서버 에 보 냅 니 다.서버 검증 이 정확 한 후에 클 라 이언 트 가 신뢰 할 수 있 는 지 확인 하여 안전 한 정보 채널 을 구축한다.
    이러한 방식 을 통 해 클 라 이언 트 는 외부 에 자신의 신분 표지 인 'private key' 를 보 내지 않 아 도 검사 의 목적 을 달성 할 수 있 고 private key 는 Public key 를 통 해 역방향 으로 추정 할 수 없다.이 는 인터넷 도청 으로 인 한 비밀번호 유출 을 피 했다.클 라 이언 트 는 다른 사람 이 훔 치지 않도록 자신의 private key 를 조심스럽게 저장 해 야 합 니 다. 이런 일이 발생 하면 각 서버 가 편 지 를 받 은 Public key 목록 을 바 꿔 야 합 니 다.
3. 실험 네트워크 토폴로지 와 실험 목적
1. 네트워크 토폴로지
다음 과 같다.
2. 목적 실현
서버 1, 서버 2, 서버 3 은 서로 암호 없 이 로그 인 할 수 있 습 니 다.
3. 보충 설명
Linux 에서 호스트 이름 을 수정 하 는 전체 절 차 는 다음 과 같 습 니 다. 첫 번 째 단계:
두 번 째 단계:
세 번 째 단계:
#hostname Server1

4. 암호 없 는 로그 인 실현 방식
1. ssh - keygen 으로 공개 키 만 들 기
(1) 서버 1 에서 다음 명령 을 수행 합 니 다.
  /etc/sysconfig/network  hostname
    입력 하면. ssh/id 생 성 알림rsa、id_rsa. pub 의 파일 중 첫 번 째 는 키 이 고 두 번 째 는 공개 키 입 니 다.이 과정 에서 비밀 번 호 를 입력 하 라 고 요구 할 수 있 습 니 다. ssh 방문 과정 에서 비밀 번 호 를 필요 로 하지 않 고 바로 차 로 돌아 갈 수 있 습 니 다.
(2) 추가 설명: ssh - keygen: 비밀 키 생 성 중:
  -t 지정 알고리즘  -f. 비밀 키 생 성 경 로 를 지정 합 니 다.  -N 지정 비밀번호
2. 열쇠 보기
  /etc/hosts  
   ssh 디 렉 터 리 에 있 는 열쇠 두 개 를 발견 할 수 있 습 니 다.
3. 관리 되 는 기기 서버 2 와 서버 3 의. ssh 디 렉 터 리 에 공개 키 를 복사 합 니 다 (이 디 렉 터 리 에 저장 하 십시오)
4. 567913. Server 2 와 Server 3 디 렉 터 리 에서 다음 명령 을 수행 합 니 다.
[root@Server1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in/root/.ssh/id_rsa.
Your public key has been saved in/root/.ssh/id_rsa.pub.
The key fingerprint is:
7b:aa:08:a0:99:fc:d9:cc:d8:2e:4b:1a:c0:6b:da:e4root@Server1
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
|. |
|o. S |
|++. . |
|+=o. . . |
|o+=oB. o |
|..E==*... |
+-----------------+

4. 파일 과 디 렉 터 리 권한 설정:
설정 authorizedkeys 권한
. ssh 디 렉 터 리 권한 설정
[root@Server1 ~]# ls -l .ssh
    8
-rw-------. 1 root root 1675 12  10 22:20 id_rsa
-rw-r--r--. 1 root root 394 12  10 22:20 id_rsa.pub

5. SSH IP 주 소 를 사용 하 는 방식 을 검증 하고 암호 없 이 접근
[root@server1 .ssh]# scp [email protected]:~/.ssh/
The authenticity of host '192.168.1.3(192.168.1.3)' can't be established.
RSA key fingerprint is93:eb:f9:47:b1:f6:3f:b4:2e:21:c3:d5:ab:1d:ae:65.
Are you sure you want to continueconnecting (yes/no)? yes
Warning: Permanently added '192.168.1.3'(RSA) to the list of known hosts.
[email protected]'s password:
id_rsa.pub 
[root@server1 .ssh]# scp [email protected]:~/.ssh/authorized_keys
The authenticity of host '192.168.1.4(192.168.1.4)' can't be established.
RSA key fingerprint is93:eb:f9:47:b1:f6:3f:b4:2e:21:c3:d5:ab:1d:ae:65.
Are you sure you want to continueconnecting (yes/no)? yes
Warning: Permanently added '192.168.1.4'(RSA) to the list of known hosts.
[email protected]'s password:
id_rsa.pub 

6. SSH 호스트 이름 을 사용 하 는 방식 의 암호 없 는 접근 을 검증 합 니 다.
저 희 는 Server 1 에서 Server 2 와 Server 3 의 IP 주 소 를 호스트 이름 으로 분석 합 니 다.
다음 ssh 로그 인 방식 을 시도 해 보 겠 습 니 다.
#cat id_dsa.pub >> ~/.ssh/authorized_keys

5. 주의:
1. 파일 과 디 렉 터 리 의 권한 을 chmod 777 로 설정 하지 마 십시오. 이 권한 은 너무 크 고 안전 하지 않 으 며 디지털 서명 도 지원 되 지 않 습 니 다.2. 생 성 된 rsa/dsa 서명 의 공개 키 는 상대방 기계 에 사용 합 니 다.이 공개 키 내용 은 authorized 로 복사 해 야 합 니 다.keys 3. Liux 간 의 방문 은 직접 ssh 기계 ip 4, 특정한 기계 가 자신의 RSA 또는 DSA 의 디지털 서명 을 생 성하 고 공개 키 를 목표 기계 에 준 다음 에 목표 기계 가 받 은 후에 관련 권한 (공개 키 와 authorized keys 권한) 을 설정 하면 이 목표 기 는 디지털 서명 을 생 성 하 는 기계 에 암호 없 이 접근 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기