SSH (Secure Shell)는 많은 사람들이 원격 서버에 안전하게 연결하는 데 사용하는 도구입니다. 여러 원격 서버에서 작업하면 각 서버에 대한 모든 세부 사항을 기억하는 것이 까다로울 수 있습니다. SSH_Config 파일이 들어오는 곳입니다. SSH 연결을위한 개인 치트 시트와 같습니다. 이 자세한 게시물에서는 SSH_Config 파일이 간단한 용어로 무엇이며 SSH_Config 파일을 사용하여 Linux에서 여러 SSH 연결을 효과적으로 관리하는 방법에 대해 설명합니다.
SSH를 처음 사용하든 이미 친숙하든 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 파일에서 구성 할 수있는 몇 가지 공통 지침 및 매개 변수에 대한 설명입니다.
다른 많은 지침이 존재하지만, 위에서 언급 한 것이 가장 일반적으로 사용됩니다.
용법 :
ssh user@host와 같은 ssh 명령을 사용하면 ssh 클라이언트가 SSH_CONFIG 파일을 읽고이 연결의 설정을 결정합니다. 연결하는 호스트에 대한 특정 섹션이 있으면 해당 설정이 적용됩니다.
편집 :
설정을 변경하려면이 파일을 텍스트 편집기로 편집해야합니다. 잘못된 설정이 성공적인 연결을 방지 할 수 있으므로 각 설정이 무엇을하는지 조심하고 아는 것이 중요합니다.
보안 :
SSH_Config는 SSH 연결의 보안에 중요한 역할을합니다. 이곳에서 어떤 종류의 인증 방법이 허용되는지, 어떤 종류의 암호화를 사용할 것인지 및 기타 보안 관련 설정을 지정합니다.
SSH_CONFIG 이해는 SSH를 효과적이고 안전하게 사용하는 데있어 근본적인 부분입니다. SSH에 익숙해지면 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
이제이 파일의 각 부분이 의미하는 바를 분류합시다.
글로벌 설정 :
참고 : SSH 키 기반 인증이 구성되지 않은 경우 구성 파일에서 PasswordAuthentication Directive를 건너 뛸 수 있습니다.
특정 호스트 설정 (example.com) :
도메인 별 설정 (*.mycompany.com) :
ssh example.com과 같은 명령을 실행하면 SSH는이 파일을 살펴 봅니다. 먼저 글로벌 설정을 적용한 다음 연결하는 호스트와 일치하는 호스트 별 설정으로 재정의합니다.
이 경우 MyUSername을 사용자로 사용하고 포트 22에 연결하고 인증을 위해 ~/.ssh/id_rsa_example 개인 키를 사용하고 최대 10 초 동안 연결을 설정하고 압축을 활성화합니다.
이전 섹션에서는 샘플 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 사용자 루트
호스트, 호스트 이름, 사용자 및 포트의 값을 자신의 것으로 바꾸는 것을 잊지 마십시오. 모든 원격 호스트의 세부 사항을 추가하면 파일을 저장하고 닫으십시오.
4 단계 - 원격 서버에 연결 :
이제 호스트 섹션에서 정의한 별칭을 사용하여 원격 서버에 연결할 수 있습니다.
$ ssh ubuntuserver
이 명령은 SSH_CONFIG 파일에서 해당 별칭에 대해 정의한 설정을 사용합니다.
위의 출력에서 볼 수 있듯이 사용자@ip-address 대신 SSH 별칭을 사용하여 Ubuntu 시스템에 액세스 할 수 있습니다.
마찬가지로 아래와 같은 각 호스트 별칭을 사용하여 다른 원격 호스트에 연결할 수 있습니다.
$ ssh fileserver
$ SSH 웹 서버
$ ssh ftpserver
이것은 현재 사용자에게만 적용됩니다. 모든 사용자가 별명을 사용할 수있게하려면 (시스템 넓은),/etc/ssh/ssh_config 파일에서 호스트 별칭을 정의하십시오.
여러 SSH 연결을 효율적으로 관리하는 경우 종종 사용자의 특정 요구 사항과 워크 플로우에 따라 다릅니다. 앞에서 설명한 SSH_Config 파일을 사용한 접근 방식은 실제로 여러 SSH 연결을 관리하는 일반적이고 효과적인 방법입니다. 그러나 특히 많은 수의 서버 또는 복잡한 요구 사항을 처리 할 때이 접근법을 보완하거나 향상시킬 수있는 다른 방법과 도구가 있습니다. 몇 가지 옵션은 다음과 같습니다.
ssh_config 파일 (표준 접근) :
SSH 별칭 :
빠른 액세스를 위해 쉘 구성 파일 (.Bashrc 또는 .zshrc)에서 별명을 만들 수 있습니다.
예 : 별명 sshserver = 'ssh user@example.com'
Linux에서 SSH 별칭을 만드는 방법
SSH 관리 도구 :
SSH 키 관리 도구 :
구성 관리 도구 :
요새 호스트 / 점프 서버 :
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 연결을 효율적으로 관리하는 방법 (단계별 안내서)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!