ssh는 점프기를 통해 암호 없이 여러 대의 기계에 로그인하는 것을 실현한다

ssh는 점프기를 통해 암호 없이 여러 대의 기계에 로그인하는 것을 실현한다
목적: 한 기계실에 여러 개의 서버가 있는데 그 중 한 대(S1)를 대외적으로 로그인하는 점프기로 하고 이 기계는 외부 네트워크를 통해 원격으로 로그인할 수 있다.다른 기계에 로그인하려면 먼저 S1에 로그인한 후에 연결 로그인을 해야 한다. 이때의 연결 로그인은 비밀번호가 필요하지 않고 모든 기계 간에 비밀번호 없이 전환할 수 있으며 전송 파일도 비밀번호가 필요하지 않다.
환경: ubunut 시스템.
1단계, ssh 구성:
ssh 기본 포트는 22입니다. 안전을 고려해 주십시오. 여기는 모두 6000으로 바꿉니다.S1 서버의 ssh는 0.0.0.0을 감청하고 다른 모든 기계의 sshd는 본 컴퓨터의 네트워크 주소를 감청합니다.
구성은 다음과 같습니다.
S1:
~vim /etc/ssh/sshd_config 

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 6000
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
...
PermitRootLogin yes
...

기타 기계:
vim /etc/ssh/sshd_config 
# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
#Port 22
Port 6000
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
ListenAddress 192.168.1.1    # 
...
PermitRootLogin yes
...

그리고 ssh 서비스를 다시 시작합니다. 다시 시작한 후 다른 기계는 외부 네트워크 주소를 통해 다시 로그인할 수 없습니다.
2단계:
S1에서 키 파일을 만들면 하나가 생성됩니다.ssh 디렉토리
root@ubuntu:~# 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:
48:a8:92:4b:19:c0:73:c9:91:a3:34:c7:f6:ff:cb:49 root@ubuntu
The key's randomart image is:
+--[ RSA 2048]----+
|o o.+            |
|.= X .           |
|..B + .          |
| oo. o .         |
|oo.   o S        |
|.o     .         |
|.       .E       |
|        o..      |
|         +.      |
+-----------------+
root@ubuntu:~# ll .ssh/
total 16
drwx------ 2 root root 4096 Jun  6 16:55 ./
drwx------ 8 root root 4096 Jun  6 16:55 ../
-rw------- 1 root root 1679 Jun  6 16:55 id_rsa
-rw-r--r-- 1 root root  393 Jun  6 16:55 id_rsa.pub

S1 기계에 있습니다.ssh 디렉토리에서 config 파일을 만듭니다.
vim .ssh/config

ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 1h
StrictHostKeyChecking no
SendEnv LANG LC_*
GSSAPIAuthentication no
GSSAPIDelegateCredentials no

Host S1    # 
HostName 192.168.1.1    # IP
User root
Port 6000

Host S2
HostName 192.168.1.2
User root
Port 6000

Host S3
HostName 192.168.1.3
User root
Port 6000

# 

S1 시스템에서 authorized_ 만들기keys 파일을 병합합니다.ssh 디렉터리를 다른 기계로 복사하는 것이 가장 관건적인 단계이다.
#cd .ssh
#cp id_rsa.pub authorized_keys
#chmod 600 authorized_keys
#cd
#scp -r -p 6000 .ssh [email protected]:/root/    ## .ssh root 

설정이 끝나면 S1에서 비밀번호를 입력하지 않고 다른 기계에 로그인할 수 있고 모든 기계 간에 서로 로그인하고 파일을 전송할 수 있다.ssh 명령을 입력하고tab 건설을 두 번 누르면 모든 기계를 표시합니다
요약: 하나의 로그인 인터페이스만 있고 다른 기계는 안전하며 기계 간에 로그인하고 파일을 전송하는 것이 매우 편리하다.그러나 S1이 해킹되면 모든 기계가 접근할 수 있기 때문에 S1에 대한 안전 보호가 필요하다.
본문은'아삼형'블로그에서 나온 것이니, 전재를 사절합니다!

좋은 웹페이지 즐겨찾기