ssh 키 쌍 기반 자동 로그 인

5991 단어 ssh
작업 중 에 Liux 서버 와 자주 접촉 하기 때문에 각 서버 간 에 비밀 번 호 를 자주 입력 하지 않도록 ssh 키 쌍 을 기반 으로 자동 로그 인 을 사용 합 니 다.RSA/DSA 키 의 작 동 원 리 를 전체적으로 간략하게 소개 한다.
 
가상 상황 부터 시작 해서 로 컬 컴퓨터 (localbox 라 고 함) 가 remotebox 에 있 는 원 격 셸 을 열 수 있 도록 RSA 인증 을 사용 하고 싶다 고 가정 합 니 다. remotebox 는 우리 ISP 의 기계 입 니 다.지금, 우리 가 ssh 클 라 이언 트 프로그램 으로 remotebox 에 연결 하려 고 할 때, 우 리 는 다음 과 같은 힌트 를 얻 을 수 있 습 니 다.
 
$ssh –p2188 zhoubo@remotebox
$zhoubo@remotebox's password:

 
여기 서 우리 가 본 것 은 ssh 처리 인증 의 부족 한 방식 의 예 이다.다시 말 하면, 그것 은 우리 에 게 remotebox 의 zhoubo 계 정의 비밀 번 호 를 입력 하 라 고 요구한다.
 
만약 우리 가 reotebox 에 있 는 비밀 번 호 를 입력 한다 면 ssh 는 보안 암호 인증 프로 토 콜 로 우리 의 비밀 번 호 를 reotebox 에 전송 하여 검증 할 것 입 니 다.그러나 telnet 와 는 상황 이 다 르 기 때문에 여기 서 우리 의 비밀 번 호 는 암호 화 되 어 있 기 때문에 우리 의 데이터 연결 을 훔 쳐 보 는 사람 에 게 차단 되 지 않 습 니 다.reotebox 가 우리 가 제공 한 비밀 번 호 를 암호 데이터 베이스 와 대조 적 으로 인증 하면 로그 인 이 허용 되 고 reotebox 의 셸 알림 이 우 리 를 환영 합 니 다.
 
ssh 부족 한 인증 방법 은 상당히 안전 하지만 RSA 와 DSA 인증 은 우리 에 게 새로운 잠재 적 인 기 회 를 열 어 주 었 다.ssh 보안 암호 인증 과 달리 RSA 인증 은 초기 설정 이 필요 합 니 다.우 리 는 이 초기 설정 절 차 를 한 번 만 실행 해 야 한다.이후 localbox 와 reotebox 사이 의 RSA 인증 은 조금도 힘 들 지 않 았 다.
 
RSA 인증 을 설정 하려 면 키 한 쌍, 전용 키 한 쌍, 공용 키 한 쌍 을 만들어 야 합 니 다.이 두 키 는 매우 재 미 있 는 성질 을 가지 고 있다.공용 키 는 메 시 지 를 암호 화 하 는 데 사 용 됩 니 다. 전용 키 를 가 진 사람 만 이 메 시 지 를 복호화 할 수 있 습 니 다.공용 키 는 암호 화 에 만 사용 할 수 있 고, 전용 키 는 일치 하 는 공용 키 인 코딩 메시지 로 만 복호화 할 수 있 습 니 다.RSA (DSA 와) 인증 프로 토 콜 은 키 쌍 의 이러한 특수성 을 이용 하여 안전 인증 을 하고 인터넷 에서 어떠한 비밀 정보 도 전송 할 필요 가 없다.
 
RSA 나 DSA 인증 을 사용 하려 면 일회 성 설정 절 차 를 실행 해 야 합 니 다.우 리 는 공용 키 를 remotebox 로 복사 합 니 다.공용 키 가 '공용' 이 라 고 불 리 는 데 는 한 가지 이유 가 있 습 니 다.우리 에 게 주어진 메 시 지 를 암호 화 하 는 데 만 사용 할 수 있 기 때문에 다른 사람의 손 에 들 어 갈 까 봐 너무 걱정 할 필요 가 없다.우리 의 공용 키 가 remotebox 에 복사 되 었 고 remotebox 의 sshd 서비스 가 그것 을 찾 을 수 있 도록 전문 파일 (~/. ssh/authorized keys) 에 넣 으 면 RSA 인증 을 사용 하여 remotebox 에 로그 인 할 준 비 를 마 쳤 습 니 다.
RSA 로 로그 인 하려 면 localbox 콘 솔 에 ssh 를 입력 하면 됩 니 다.drobbins@remotebox우리 가 늘 하 는 것 처럼.그러나 이번에 ssh 는 reotebox 의 sshd 에 게 RSA 인증 프로 토 콜 을 사용 하고 싶다 고 알려 주 었 다.앞으로 일어 날 일 은 매우 재미있다.
Remotebox 의 sshd 는 무 작위 수 를 만 들 고 과거 에 복사 한 공용 키 로 이 무 작위 수 를 암호 화 합 니 다.그리고 sshd 는 암호 화 된 무 작위 수 를 localbox 에서 실행 중인 ssh 에 게 보 냅 니 다.다음은 우리 의 ssh 가 이 무 작위 수 를 전용 키 로 복호화 한 다음 에 remotebox 에 보 낼 차례 입 니 다. 사실은 "보 세 요. 저 는 확실히 일치 하 는 전용 키 가 있 습 니 다. 저 는 귀하 의 메 시 지 를 복호화 하 는 데 성공 할 수 있 습 니 다!"라 고 말 한 것 과 같 습 니 다. 마지막 으로 sshd 는 우리 가 일치 하 는 전용 키 를 가지 고 있 으 니 로그 인 을 허용 해 야 한 다 는 결론 을 내 렸 습 니 다.따라서, 우 리 는 일치 하 는 전용 키 가 있다 는 사실 이 remotebox 에 접근 할 수 있 도록 권한 을 부여 합 니 다. 
 
1. localbox (ssh 클 라 이언 트) 를 설정 하려 면 사용자 계 정 으로 localbox 에 로그 인하 고 명령 ssh - keygen - t rsa 를 실행 하 십시오.
$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/myid/.ssh/id_rsa):
    Created directory '/home/myid/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/zhoubo/.ssh/id_rsa.
    Your public key has been saved in /home/zhoubo/.ssh/id_rsa.pub.
    The key fingerprint is:
        f1:e8:ae:a7:b3:f6:64:3f:30:34:1f:c5:07:ce:0f:bc myid@localbox

자동 로그 인 을 위해 passphrase 가 비어 있 습 니 다.메모: passphrase 가 비어 있 기 때문에 생 성 된 비밀 키 는 권한 이 부여 되 지 않 은 접근 을 절대 금지 해 야 합 니 다!생 성 된 idrsa. pub 파일 을 reotebox 의/home/zhoubo/. ssh/디 렉 터 리 에 복사 합 니 다.
2. reotebox (ssh 서버) 를 설정 하려 면 zhoubo 계 정 으로 로그 인하 십시오.다음 명령 실행:
$cd .ssh
$umask 077
$cat id_rsa.pub >> authorized_keys

 
 
3. ssh 자동 로그 인 테스트 사용자 계 정 으로 localbox 에 로그 인하 고 명령 ssh 를 실행 하 십시오.zhoubo@remotebox.입력 하지 않 을 수 있 습 니 다.zhoubo@remotebox암호 상태 에서 remotebox 에 로그 인 합 니 다.
 
4. 다음은 작업 원리 와 배치 절차 입 니 다.
  • locala 가 remoteB 에 자동 으로 로그 인 하려 고 합 니 다
  • locala 기기 에서 공개 키 와 비밀 키 쌍 을 생 성 합 니 다
  • 자동 으로 로그 인 하려 는 서버 reoteB 에 공개 키 를 올 리 고. ssh 디 렉 터 리 에서 authorized 로 이름 을 바 꿉 니 다.keys, 설정 권한 600, remoteB 의 sshd 서비스 가 정상적으로 작 동 하 는 지 확인
  • locala 에 remoteB: ssh – p 2188 로그 인username@remoteB

  •  
    또한 로 컬 서버 의. ssh 디 렉 터 리 에 config 파일 을 설정 할 수 있 습 니 다. ssh 클 라 이언 트 는 이 프로필 을 자동 으로 불 러 오고 임의의 위치 에서 수 동 으로 위 치 를 지정 할 수 있 습 니 다.설정 내용 은 다음 과 같 습 니 다.
    Host 192.168.0.*           #允许自动登陆的ip
    Host 11.151.59.*
    User test                #默认使用的用户名
    Port 2188                    #默认使用的端口
    IdentityFile ~/.ssh/test.id  #自动登陆验证的私钥文件
    Host 192.168.1.*           #允许自动登陆的ip
    User zhoubo                #默认使用的用户名
    Port 2188                    #默认使用的端口
    IdentityFile ~/.ssh/zhoubo.id  #自动登陆验证的私钥文件

     
    메모: 비밀 키 파일 과 ~/. ssh/config 파일 의 권한 을 600 으로 확보 해 야 합 니 다.
     
     

    좋은 웹페이지 즐겨찾기