> 시스템 튜토리얼 > 리눅스 > Linux에서 여러 SSH 연결을 효율적으로 관리하는 방법 (단계별 안내서)

Linux에서 여러 SSH 연결을 효율적으로 관리하는 방법 (단계별 안내서)

尊渡假赌尊渡假赌尊渡假赌
풀어 주다: 2025-03-20 09:30:16
원래의
243명이 탐색했습니다.

SSH (Secure Shell)는 많은 사람들이 원격 서버에 안전하게 연결하는 데 사용하는 도구입니다. 여러 원격 서버에서 작업하면 각 서버에 대한 모든 세부 사항을 기억하는 것이 까다로울 수 있습니다. SSH_Config 파일이 들어오는 곳입니다. SSH 연결을위한 개인 치트 시트와 같습니다. 이 자세한 게시물에서는 SSH_Config 파일이 간단한 용어로 무엇이며 SSH_Config 파일을 사용하여 Linux에서 여러 SSH 연결을 효과적으로 관리하는 방법에 대해 설명합니다.

SSH를 처음 사용하든 이미 친숙하든 SSH_CONFIG를 사용하여 원격 연결을 단순화합니다.

목차

ssh_config 파일이란 무엇입니까?

SSH_CONFIG 파일은 OpenSSH 클라이언트가 원격 서버에 SSH (Secure Shell)를 연결하기위한 다양한 설정 및 매개 변수를 정의하기 위해 사용하는 구성 파일입니다.

이를 통해 사용자는 SSH 클라이언트의 동작을 사용자 정의하고 연결 옵션을 관리하며 원격 호스트에보다 편리하게 연결하기위한 바로 가기를 만들 수 있습니다.

ssh_config의 목적 :

이 파일에는 원격 서버에 연결하려고 할 때 SSH 클라이언트의 동작 방식을 지시하는 구성 설정이 포함되어 있습니다. 이러한 설정에는 사용할 보안 프로토콜, 인증 방법 및 시간 초과 또는 연결 시도와 같은 다양한 기본 설정이 포함될 수 있습니다.

위치 :

ssh_config 파일은 일반적으로 Unix와 같은 시스템에서/etc/ssh/ssh_config에서 찾을 수 있습니다. 이 파일은 시스템의 모든 사용자에게 영향을 미치는 글로벌 구성 파일입니다.

사용자는 홈 디렉토리 (~/.ssh/config)에 개인 구성 파일을 가질 수 있으며, 이는 전역 설정을 무시할 수 있습니다.

형식 :

파일은 한 줄 당 키워드 연계 쌍으로 구성됩니다. 예를 들어, Host ServerName은 ServerName에 연결할 때만 적용되는 구성을 지정합니다. 키워드는 대소 문자를 사용하지 않으며 인수는 일반적으로 대소 문자에 민감합니다.

공통 설정 :

다음은 ssh_config 파일에서 구성 할 수있는 몇 가지 공통 지침 및 매개 변수에 대한 설명입니다.

  • 호스트 : 호스트 (또는 호스트)를 정의합니다. 다음 설정이 적용됩니다. 일반 설정에 *와 같은 와일드 카드를 사용할 수 있습니다.
  • 호스트 이름 : 연결할 실제 호스트 이름. 호스트 키워드와 다를 수 있습니다.
  • 포트 : 원격 호스트에서 연결할 포트 번호를 지정합니다.
  • 사용자 : 원격 서버에서 로그인 할 사용자 이름입니다.
  • IdentityFile : 공개 키 인증에 대한 사용자의 ID (개인 키)가 읽는 파일을 지정합니다.
  • PasswordAuthentication : 비밀번호 인증 사용 여부를 지정합니다. 예 또는 아니오가 될 수 있습니다.
  • ConnectTimeout : 포기하기 전에 원격 서버에 연결되기를 기다리기 위해 시간을 몇 초 만에 설정합니다.

다른 많은 지침이 존재하지만, 위에서 언급 한 것이 가장 일반적으로 사용됩니다.

용법 :

ssh user@host와 같은 ssh 명령을 사용하면 ssh 클라이언트가 SSH_CONFIG 파일을 읽고이 연결의 설정을 결정합니다. 연결하는 호스트에 대한 특정 섹션이 있으면 해당 설정이 적용됩니다.

편집 :

설정을 변경하려면이 파일을 텍스트 편집기로 편집해야합니다. 잘못된 설정이 성공적인 연결을 방지 할 수 있으므로 각 설정이 무엇을하는지 조심하고 아는 것이 중요합니다.

보안 :

SSH_Config는 SSH 연결의 보안에 중요한 역할을합니다. 이곳에서 어떤 종류의 인증 방법이 허용되는지, 어떤 종류의 암호화를 사용할 것인지 및 기타 보안 관련 설정을 지정합니다.

SSH_CONFIG 이해는 SSH를 효과적이고 안전하게 사용하는 데있어 근본적인 부분입니다. SSH에 익숙해지면 SSH_Config를 조정하면 원격 연결이 더 편리하고 안전해질 수 있습니다.

간단히 말해서 SSH_CONFIG 파일은 바로 가기를 만들고 환경 설정을 설정하고 여러 서버에 연결하는 데 도움이됩니다.

샘플 ssh_config 파일

몇 가지 공통 설정이있는 SSH_CONFIG 파일의 간단한 예를 살펴 보겠습니다. 이렇게하면 SSH를 사용하여 원격 서버에 연결할 때 이러한 설정이 어떻게 구성되고 적용되는지 이해하는 데 도움이됩니다.

예제 SSH_CONFIG 파일의 내용은 다음과 같습니다.

 # 글로벌 SSH 클라이언트 구성 설정

# 모든 연결 에이 ID 파일 (개인 키) 사용
IdentityFile ~/.ssh/id_rsa

# 모든 호스트의 비밀번호 인증 비활성화, 키 기반 인증에 의존하십시오.
비밀번호

# 특정 호스트 설정 (example.com)
호스트 example.com
  hostname example.com
  포트 22
  사용자 myusername
  IdentityFile ~/.ssh/id_rsa_example
  ConnectTimeout 10
  압축 예

# .mycompany.com 도메인의 호스트에 대한 설정
호스트 *.mycompany.com
  사용자 mycompanyuser
  포트 2222
  StricthostkeyChecking Ask
  사용자 알려진 호스트 스파일 /dev /null
로그인 후 복사

이제이 파일의 각 부분이 의미하는 바를 분류합시다.

글로벌 설정 :

  • IdentityFile ~/.ssh/id_rsa :이 라인은 호스트 별 설정에 의해 상정되지 않는 한 모든 연결에 ~/.ssh/id_rsa에 위치한 개인 키를 사용하도록 SSH에 알려줍니다.
  • PasswordAuthentication No : 모든 호스트의 비밀번호 인증을 비활성화합니다. SSH는 대신 키 기반 인증에 의존합니다.

참고 : SSH 키 기반 인증이 구성되지 않은 경우 구성 파일에서 PasswordAuthentication Directive를 건너 뛸 수 있습니다.

특정 호스트 설정 (example.com) :

  • host example.com : example.com에 연결할 때만 적용되는 섹션이 시작됩니다.
  • hostname example.com : 연결할 실제 호스트 이름을 지정합니다.
  • 포트 22 : 포트 22 (기본 SSH 포트)에 연결하십시오.
  • 사용자 myusername :이 호스트에 연결할 때 myusername을 기본 사용자 이름으로 사용하십시오.
  • IdentityFile ~/.ssh/id_rsa_example : 특정 개인 키 파일을 특별히 examply.com으로 사용하십시오.
  • ConnectTimeout 10 : 포기하기 전에 연결하려고 할 때 최대 10 초를 기다립니다.
  • 압축 예 : 연결을 압축 할 수 있습니다.

도메인 별 설정 (*.mycompany.com) :

  • 호스트 *.mycompany.com :이 설정을 .mycompany.com 도메인 내의 모든 호스트에 적용합니다.
  • 사용자 mycompanyuser :이 호스트의 기본 사용자 이름.
  • 포트 2222 : 기본 포트 대신 포트 2222를 사용하여 연결하십시오.
  • StricthostKeyChecking Ask : SSH는이 도메인 내에서 새 호스트에 연결할 때 확인을 요청합니다.
  • userkenhostsfile /dev /null : ssh는이 도메인의 서버의 호스트 키를 기억하지 않으므로 각 연결이 처음 인 것처럼 취급합니다.

ssh example.com과 같은 명령을 실행하면 SSH는이 파일을 살펴 봅니다. 먼저 글로벌 설정을 적용한 다음 연결하는 호스트와 일치하는 호스트 별 설정으로 재정의합니다.

이 경우 MyUSername을 사용자로 사용하고 포트 22에 연결하고 인증을 위해 ~/.ssh/id_rsa_example 개인 키를 사용하고 최대 10 초 동안 연결을 설정하고 압축을 활성화합니다.

여러 SSH 연결을 관리합니다

이전 섹션에서는 샘플 SSH_CONFIG 파일의 구조를 설명했습니다. 이제 SSH_CONFIG 파일을 사용하여 여러 SSH 연결을 효과적으로 관리하는 방법에 대한 실질적인 예를 살펴 보겠습니다.

1 단계 - ssh_config 파일을 찾거나 만듭니다.

대부분의 UNIX와 같은 시스템에서 Global SSH_Config 파일은/etc/ssh/ssh_config에 있습니다. 그러나 사용자에 대한 설정을 구체적으로 사용자 정의하려면 홈 디렉토리에서 개인 (사용자 당) 구성 파일을 만들 수 있습니다.

개인 ssh_config 파일을 만들려면 다음 명령을 사용하십시오.

 $ touch ~/.ssh/config
로그인 후 복사

2 단계 - ssh_config 파일 편집 :

텍스트 편집기 (예 : Nano, Vim, Gedit 또는 Notepad)를 사용하여 SSH_Config 파일을 열고 편집하십시오. 예를 들어 나노 텍스트 편집기를 사용할 수 있습니다.

 $ nano ~/.ssh/config
로그인 후 복사

3 단계 - 호스트 별칭 정의 :

ssh_config의 가장 유용한 기능 중 하나는 호스트 별칭을 만드는 것입니다. 각 원격 서버마다 자주 연결하면 다음과 같은 섹션을 추가하십시오.

 호스트 server_alias
    hostname server_ip_or_domain
    사용자 your_username
    IdentityFile ~/.ssh/your_private_key
    포트 22
로그인 후 복사

:

 Ubuntuserver 호스트
    호스트 이름 192.168.1.40
    사용자 ostechnix
    포트 22
로그인 후 복사

서버의 IP 주소 또는 도메인 이름으로 서버에 대한 선택한 별칭으로 Ubuntuserver를 교체하고 해당 서버의 사용자 이름으로 OSTECHNIX를 교체하십시오.

키 기반 SSH 인증을 구성한 경우 다음 줄도 추가해야합니다.

 IdentityFile ~/.ssh/your_private_key
로그인 후 복사

~/.ssh/your_private_key를 비공개 SSH 키로 교체하십시오.

SSH_Config 파일에서 각각 고유 한 설정으로 여러 호스트 별칭을 정의 할 수도 있습니다.

 호스트 파일 서버
    호스트 이름 192.168.1.50
    사용자 SK

호스트 ftpserver
    호스트 이름 192.168.1.60
    사용자 kumar
    포트 2233

호스트 웹 서버
    hostname server.example.com
    사용자 루트
로그인 후 복사

Linux에서 여러 SSH 연결을 효율적으로 관리하는 방법 (단계별 안내서)

호스트, 호스트 이름, 사용자 및 포트의 값을 자신의 것으로 바꾸는 것을 잊지 마십시오. 모든 원격 호스트의 세부 사항을 추가하면 파일을 저장하고 닫으십시오.

4 단계 - 원격 서버에 연결 :

이제 호스트 섹션에서 정의한 별칭을 사용하여 원격 서버에 연결할 수 있습니다.

 $ ssh ubuntuserver
로그인 후 복사

이 명령은 SSH_CONFIG 파일에서 해당 별칭에 대해 정의한 설정을 사용합니다.

Linux에서 여러 SSH 연결을 효율적으로 관리하는 방법 (단계별 안내서)

위의 출력에서 ​​볼 수 있듯이 사용자@ip-address 대신 SSH 별칭을 사용하여 Ubuntu 시스템에 액세스 할 수 있습니다.

마찬가지로 아래와 같은 각 호스트 별칭을 사용하여 다른 원격 호스트에 연결할 수 있습니다.

 $ ssh fileserver
로그인 후 복사
 $ SSH 웹 서버
로그인 후 복사
 $ ssh ftpserver
로그인 후 복사

이것은 현재 사용자에게만 적용됩니다. 모든 사용자가 별명을 사용할 수있게하려면 (시스템 넓은),/etc/ssh/ssh_config 파일에서 호스트 별칭을 정의하십시오.

여러 SSH 연결 관리를위한 효과적인 전략

여러 SSH 연결을 효율적으로 관리하는 경우 종종 사용자의 특정 요구 사항과 워크 플로우에 따라 다릅니다. 앞에서 설명한 SSH_Config 파일을 사용한 접근 방식은 실제로 여러 SSH 연결을 관리하는 일반적이고 효과적인 방법입니다. 그러나 특히 많은 수의 서버 또는 복잡한 요구 사항을 처리 할 때이 접근법을 보완하거나 향상시킬 수있는 다른 방법과 도구가 있습니다. 몇 가지 옵션은 다음과 같습니다.

ssh_config 파일 (표준 접근) :

  • 장점 : 중앙 집중식 구성, 추가 소프트웨어가 필요하지 않으며 사용자 정의가 가능합니다.
  • 단점 : 매우 많은 수의 서버, 파일 수동 편집에 복잡해질 수 있습니다.

SSH 별칭 :

빠른 액세스를 위해 쉘 구성 파일 (.Bashrc 또는 .zshrc)에서 별명을 만들 수 있습니다.

: 별명 sshserver = 'ssh user@example.com'

  • 장점 : 소수의 자주 액세스하는 서버의 빠르고 쉽습니다.
  • 단점 : 많은 서버를 관리하기에 확장 할 수 없으므로 SSH_CONFIG의 고급 기능이 부족합니다.

Linux에서 SSH 별칭을 만드는 방법

SSH 관리 도구 :

  • Clusterssh , TMUXScreen 과 같은 도구는 특히 많은 서버와 동시에 상호 작용 해야하는 경우 여러 SSH 세션을 관리하는 데 도움이 될 수 있습니다.
  • 장점 : 여러 서버, 고급 세션 관리에서 동시 작업에 적합합니다.
  • 단점 : 고급 사용자에게 더 적합한 새로운 도구를 배우는 것이 필요합니다.

SSH 키 관리 도구 :

  • SSH-Agent , Keychain 또는 Gnome-ekeyring 과 같은 도구는 SSH 키를 관리하는 데 도움이되므로 다른 인증 키가 필요한 연결을보다 쉽게 ​​처리 할 수 ​​있습니다.
  • 장점 : 키 관리를 단순화하고 보안을 향상시킵니다.
  • 단점 : 추가 설정 및 유지 보수.

구성 관리 도구 :

  • 유스 케이스에 여러 서버에서 일관된 설정 또는 스크립트가 포함 된 경우 Ansible , Puppet 또는 Chef 와 같은 도구가 매우 유용 할 수 있습니다.
  • 장점 : 자동화, 많은 서버에서 일관성이 좋습니다.
  • 단점 : 가파른 학습 곡선, 더 많은 설정.

요새 호스트 / 점프 서버 :

  • 보다 복잡한 네트워크 환경에서는 다른 서버에 연결하기 위해 요새 호스트 (또는 Jump Server )를 단일 진입 지점으로 사용하면 관리를 단순화하고 보안을 향상시킬 수 있습니다.
  • 장점 : 보안 증가, 중앙 집중식 접근 지점.
  • 단점 : 추가 설정 및 유지 보수, 단일 고장 지점이 필요합니다.

SSH 멀티플렉서 :

  • OpenSsh의 Controlmaster 와 같은 멀티플렉서는 SSH 연결을 재사용 할 수 있도록하여 동일한 호스트에 새로운 연결을 설정하는 시간을 줄입니다.
  • 장점 : 동일한 호스트와의 빠른 연결, 인증이 적은 오버 헤드.
  • 단점 : 구성의 복잡성, 잠재적 보안 고려 사항.

가장 좋은 방법은 특정 요구에 따라 다릅니다.

  • 소수의 서버 및 간단한 사용 사례의 경우 SSH_Config 파일과 함께 SSH 별칭이 충분할 수 있습니다.
  • 여러 세션이나 서버를 동시에 관리하려면 Clusterssh, TMUX 또는 Screen과 같은 SSH 관리 도구를 고려하십시오.
  • 복잡한 환경 또는 자동화 요구의 경우 구성 관리 도구 또는 요새 호스트 설정을 살펴보십시오.

각 방법에는 고유 한 장점과 단점 세트가 있으므로 이러한 접근 방식의 조합이 귀하에게 가장 적합하다는 것을 알 수 있습니다.

자주 묻는 질문 (FAQ)

Q : SSH 란 무엇이며 왜 사용됩니까?

A : SSH 또는 Secure Shell은 무담보 네트워크를 통해 시스템에 안전하게 액세스하고 관리하는 데 사용되는 프로토콜입니다. 보안 데이터 통신, 원격 명령 줄 로그인, 원격 명령 실행 및 두 네트워크 컴퓨터 간의 기타 보안 네트워크 서비스에 널리 사용됩니다.

Q : ssh_config 파일이란 무엇이며 어디에 있습니까?

A : SSH_CONFIG 파일은 SSH 클라이언트를위한 구성 파일입니다. 원격 서버에 대한 연결을 설정하는 방법을 정의하는 설정이 포함되어 있습니다. 이 파일은 일반적으로 시스템 전체 설정 또는 사용자 별 설정을위한 ~/.ssh/구성의 경우/etc/ssh/ssh_config에 있습니다.

Q : SSH_CONFIG는 여러 SSH 연결 관리에 어떻게 도움이됩니까?

A : SSH_CONFIG를 사용하면 호스트 이름, 사용자 이름, 포트 번호 및 개인 키와 같은 다른 SSH 호스트의 특정 설정을 정의 할 수 있습니다. 이는 각 호스트 또는 호스트 그룹의 구성을 지정하여 다양한 서버에 연결하는 것을 단순화합니다.

Q : 키 기반 인증에 ssh_config를 사용할 수 있습니까?

A : 예, 키 기반 인증을 위해 SSH_Config의 ID 파일 (개인 키) 경로를 지정하여 매번 암호를 입력하지 않고 다른 서버에 연결하는 것이 더 편리하고 안전합니다.

Q : SSH_Config는 초보자에게 적합합니까?

A : SSH_CONFIG는 사용자 친화적이지만 SSH 및 구성 구문에 대한 기본 지식이 필요합니다. 기본 구조와 설정을 배우고 이해하려는 초보자에게는 적합합니다.

Q : ssh_config 이외의 SSH 연결을 관리하는 도구가 있습니까?

A : 예, Clusterssh, TMUX, 화면 및 다양한 SSH 키 관리 도구와 같은 여러 도구가있어 특히 고급 사용자 또는 특정 요구에 대해 SSH 연결 관리를 보완하거나 향상시킬 수 있습니다.

Q : 관리 할 서버가 많으면 어떻게해야합니까?

A : 많은 수의 서버를 관리하기 위해 여러 서버에서 자동화 및 일관된 구성을 제공하는 Ansible, Puppet 또는 Chef와 같은 구성 관리 도구를 사용하는 것을 고려할 수 있습니다.

Q : SSH 연결의 보안을 어떻게 보장합니까?

A : 키 기반 인증을 사용하고 루트 로그인을 비활성화하고 키에 대한 강력한 암호를 사용하고 SSH 소프트웨어를 정기적으로 업데이트하고 키 관리를 위해 SSH-Agent와 같은 보안 기능을 사용하여 SSH 연결 보안을 보장합니다.

Q : 여러 서버의 SSH 작업을 자동화 할 수 있습니까?

A : 예, SSH_Config와 함께 스크립팅 또는 Ansible과 같은 자동화 도구를 사용하여 여러 서버에서 작업을 자동화 할 수 있습니다.

Q : 동일한 호스트에 대한 SSH 연결 속도를 높이는 방법이 있습니까?

A : 예, SSH 멀티플렉싱, 특히 OpenSSH의 Controlmaster 기능을 사용하여 기존 연결을 재사용하여 동일한 호스트에 대한 새로운 연결을 설정하는 시간을 줄일 수 있습니다.

결론

SSH_CONFIG 파일을 사용하여 여러 SSH 연결을 효과적으로 관리하는 것은 워크 플로를 단순화하고 다양한 원격 서버에 쉽게 연결할 수있는 좋은 방법입니다.

ssh_config 파일을 사용하면 특정 호스트, 네트워크에 대한 사용자 정의 구성을 만들거나 전역 설정을 사용할 수 있습니다. SSH_Config 파일을 사용하면 SSH 클라이언트의 동작을 미세 조정하고 보안을 개선하며 원격 서버에 연결할 수 있습니다.

이 파일을 수정할 때 특히 민감한 정보 또는 보안 관련 설정을 다루는 경우주의를 기울여야합니다.

제안 된 읽기 :

  • Linux의 특정 사용자 또는 그룹에 대한 SSH 액세스 허용 또는 거부
  • Linux의 특정 디렉토리로 SSH를하는 방법
  • Linux에서 SSH 세션이 분리되지 않도록 중지하는 방법
  • SSH 세션에서 로그 아웃 한 후 명령을 유지하는 4 가지 방법
  • SSLH - HTTPS 및 SSH에 대해 동일한 포트를 공유합니다.
  • 사용자가 Linux에서 암호 기반 또는 키 기반 SSH 인증을 사용하고 있는지 찾는 방법

위 내용은 Linux에서 여러 SSH 연결을 효율적으로 관리하는 방법 (단계별 안내서)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿