반응형
SSH 설정 파일을 사용하면 여러 서버에 접속할 때마다 설정을 반복할 필요 없이, 미리 정의해둔 설정으로 빠르고 쉽게 접속할 수 있습니다. ~/.ssh/config
파일을 이용해 SSH 접속 설정을 관리할 수 있습니다.
config 파일은 HOME 디렉토리에 위치하고 있습니다.
기본적인 ~/.ssh/config
파일의 구조는 다음과 같습니다.
1. 기본 구조
Host [별칭]
HostName [원격 서버의 IP 또는 도메인]
User [사용자 이름]
Port [포트 번호] # 기본값은 22
IdentityFile [SSH 키 경로]
예시
- 특정 서버에 쉽게 접속하기 위해 별칭을 설정하는 경우:이렇게 설정한 후에는 아래와 같이 간단하게 접속할 수 있습니다.
ssh myserver
Host myserver
HostName 192.168.1.10
User myusername
Port 22
IdentityFile ~/.ssh/id_rsa
- 여러 서버에 공통 설정을 적용하는 경우:위 예시는 모든 서버에 대해 에이전트 포워딩을 활성화하고 서버에 유지 연결 설정을 추가한 것입니다.
Host *
ForwardAgent yes
ServerAliveInterval 60
- 여러 서버에 공통 설정을 적용하는 경우:위 예시는 모든 서버에 대해 에이전트 포워딩을 활성화하고 서버에 유지 연결 설정을 추가한 것입니다.
Host gpjigi.*
ForwardAgent yes
ServerAliveInterval 60
- 특정 도메인의 모든 서버에 공통 설정 적용:예를 들어,
server1.example.com
이나server2.example.com
과 같은 서버에 접속할 때 기본 사용자와 키 파일을 지정할 수 있습니다.
Host *.example.com
User myuser
dentityFile ~/.ssh/example_key
2. 설정 옵션 요약
- Host: 설정을 적용할 서버의 별칭.
- HostName: 실제 서버의 IP 주소나 도메인.
- User: 접속할 사용자 이름.
- Port: SSH 포트 번호 (기본값은 22).
- IdentityFile: 사용하려는 SSH 키 파일 경로.
- ForwardAgent: 현재 클라이언트의 SSH 에이전트를 포워딩할지 여부.
3. 설정 상세 옵션
ssh
의 설정 파일은 주로 ~/.ssh/config
파일에 작성하며, 다양한 keyword
를 사용하여 SSH 접속을 자동화하고 사용자 경험을 개선합니다. 주요 ssh config
키워드는 다음과 같습니다:
1. Host
- 설명: 이 항목은 여러 서버에 대한 설정을 분리하기 위해 사용되며, 접속 시 사용할 호스트 이름(별칭)을 지정합니다.
- 예시:
Host myserver
HostName 192.168.1.100
2. HostName
- 설명: 실제 접속할 서버의 도메인 이름이나 IP 주소를 설정합니다.
- 예시:
HostName example.com
3. User
- 설명: SSH 접속 시 사용할 사용자 이름을 지정합니다.
- 예시:
User username
4. Port
- 설명: SSH 접속 시 사용할 포트 번호를 지정합니다. 기본적으로는 22번 포트를 사용하지만, 서버 설정에 따라 다를 수 있습니다.
- 예시:
Port 2222
5. IdentityFile
- 설명: 접속에 사용할 개인 키 파일의 경로를 지정합니다.
- 예시:
IdentityFile ~/.ssh/id_rsa
6. ProxyJump
- 설명: 중간 서버를 통해 대상 서버에 접근할 수 있게 설정합니다. 여러 서버를 거쳐야 할 때 유용합니다.
- 예시:
ProxyJump jumpserver
7. ForwardAgent
- 설명: 인증 에이전트를 포워딩할지 여부를 설정하며, 다른 서버에 접근할 때 로컬의 인증 정보를 사용할 수 있게 해줍니다.
- 예시:
ForwardAgent yes
8. ServerAliveInterval
- 설명: 서버에 연결된 상태를 유지하기 위해 주기적으로 신호를 보내는 시간을 설정합니다(초 단위).
- 예시:
ServerAliveInterval 60
9. ControlMaster, ControlPath, ControlPersist
- 설명: SSH 연결을 재사용하여 여러 접속 간의 속도를 높입니다.
- 예시:
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 10m
10. StrictHostKeyChecking
- 설명: 서버의 호스트 키를 엄격하게 검사할지 여부를 설정합니다. "no"로 설정하면 새 서버의 호스트 키가 자동으로 추가됩니다.
- 예시:
StrictHostKeyChecking no
이 외에도 SSH의 설정은 서버 연결을 세밀하게 조정하는 다양한 키워드를 제공합니다.
위와 같은 설정을 통해 여러 서버에 쉽게 접속하고 관리할 수 있으며, 서버마다 설정을 일일이 입력하지 않아도 되어 편리합니다.
반응형
'개발 도구 > ssh' 카테고리의 다른 글
[ SSH ] ssh-keygen - PEM 포맷으로 Key 생성하기 (1) | 2024.10.31 |
---|---|
[ SSH ] ssh-keygen - 비밀번호 없이 Key로 ssh 접속하기 (0) | 2024.10.31 |
[ SSH ] SSH Sever 설치하기 - 추가 보안 (0) | 2024.06.20 |