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에 대한 안전 보호가 필요하다.
본문은'아삼형'블로그에서 나온 것이니, 전재를 사절합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SSH 키 쌍이 손실된 경우 EC2 인스턴스에 대한 SSH 연결 복원얼마 전에 안타깝게도 중요한 EC2 인스턴스에 속한 SSH 키 쌍을 잃어버렸습니다. 그 시점에서 우리는 방금 인스턴스의 스냅샷을 찍고 새 키 쌍으로 새 인스턴스를 생성했습니다. 이 블로그 게시물에서는 SSH 연결을 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.