SSH config 옵션 - SSH config obsyeon

사실 단순해 보이지만 개발자는 게을러야 하므로 ~/.ssh/config에 설정을 작성해두면 더 짧게 사용할 수 있다. ~/.ssh/config가 없다면 빈 파일을 만들면 된다. 파일 내용은 다음과 같다.

Host dev
    HostName dev.haruair.com
    User edward

이렇게 작성하면 다음과 같이 접속 가능하다. (만약 동작하지 않는다면 퍼미션을 확인해주세요. ChangWan Jun님이

Host dev
    HostName dev.haruair.com
    User edward
0 식으로 퍼미션 지정이 필요하다고 알려주셨습니다.)

$ ssh dev

해당 서버가 ssh key를 기본값인 id_rsa를 사용하고 있다면 접속에 문제가 없다. (ssh key를 생성하는 방법은 이 페이지를 참조) 하지만 각각 서버마다 다른 키를 사용하고 있다면 여전히

Host dev
    HostName dev.haruair.com
    User edward
1 플래그를 이용해야 해서 번거롭다.

ssh는 로컬 환경에서 원격에 있는 컴퓨터로 접근하여 작업할 때 매우 자주 사용하는 명령어이다. 보통 ssh로 원격 서버에 접속할 때에는 접속하는 계정명과 서버 ip 주소를 입력해야 한다. 거기에다 종종 22번 포트가 차단되어 있는 경우도 있기에 포트 번호를 입력해야 하는 경우도 있으며, 접속이 password가 아닌 key file로 이루어지는 경우 identity file도 지정을 해 주어야 한다. 결과적으로 ssh 접속을 위한 명령이 무척 길어지며, 실수를 하기도 더욱 쉽다. ssh에서는 config 파일에 서버에 별명을 지정하여 손쉽게 접속할 수 있는 방법을 제공하고 있다. 그렇다면 어떻게 config 파일에 서버 정보를 작성해야 하는지 알아보도록 하자.

ssh config 파일의 위치

config 파일은 각 계정별로 따로 설정할 수 있도록 각 계정의 home directory상에 위치하고 있다.

경로는 ~/.ssh/config 이며, ~/.ssh/ 디렉토리가 없거나 ~/.ssh/config 파일이 없는 경우 생성해야 한다.

ssh config 파일 작성 방법

config 파일의 내용은 아래와 같다.

Host 
    HostName <서버 ip or DNS 주소>
    User <접속에 사용할 유저 이름>
    Port 

우선 ssh 접속에 사용할 서버 이름을 적어준 뒤 그 아래줄부터 들여쓰기(스페이스 4번 or 탭 1번)하여 자세한 내용을 입력한다. 우선 HostName필드와 User 필드는 필수로 작성하여야 하며, 추가적으로 port 지정이나 identity file 지정이 필요한 경우 Port, IdentityFile 필드를 적고 그 뒤에 포트 번호와 파일 경로를 적어주면 된다.

첫 번째 방법은 유저명@도메인, 두 번째 방법은 유저명@ip(고정) 세 번째 방법은 ssh 접속 포트가 22번이 아닐 경우 특정 포트 선택 접속, 네 번째 방법은 ssh key 파일이 여러가지일 때 파일 경로를 정확히 설정하여 로그인하는 방법입니다.

옵션을 통해 직접 지정해서 로그인이 가능하지만, 이렇게 각각 관리하여야 하는 키 파일이 여러 개일 경우 굉장히 비효율적인 과정을 거치게 됩니다.

SSH config 파일은 이를 방지하며, 간편하게 SSH 접속을 진행하도록 도와줍니다. SSH config 파일에 옵션을 미리 기입하여 ssh 접속 커맨드를 짧은 단축어로 변경합니다.

SSH config 단축어 지정

서버가 아닌 로컬의 터미널에서 아래 커맨드를 입력합니다.

sudo nano ~/.ssh/config

만일 안에 기재된 내용이 있을 경우 최하단에서 한 줄을 띈 후 입력합니다.

SSH config 파일에 등록할 인스턴스의 host명이 [port] 라고 가정했을 때, config 파일은 아래와 같습니다.

🤌 예시 환경

Ubuntu 20.04 인스턴스에 고정ip 연결하여 사용중 ssh 접속 포트 - 기본, (22) 따로 변경한 적 없음 ssh key 생성 당시 경로, 파일명 : ~/.ssh/key/key_rsa

해당 조건에서 사용할 SSH config 파일을 작성해 보겠습니다.

🗃️ SSH config 파일 작성 예시

Host Port
HostName ***.***.***.***
User ubuntu
IdentityFile ~/.ssh/key/key_rsa
Port 22

🚗 옵션별 설명

Host 에는 호스트명을 기재합니다. 참고로 host명을 간단하게 변경하는 방법에 대해서는 이 포스팅을 참고하세요.

HostName에는 연결할 인스턴스의 고정 IP (staticIP) 를 기재해줍니다.

User는 ubuntu (ubuntu일 경우 고정)로 기재합니다.

IdentityFile은 로그인할 private key의 경로와 파일명을 제시해주어야 합니다.

사용하는 key file의 경로와 파일명이 ~/.ssh/id_rsa 처럼 기본적일 경우 띠로 지정해주지 않아도 되지만, ssh key를 여러개 사용하는 경우 반드시 해당 옵션을 넣고 ~/.ssh/key/key_rsa 처럼 private key 파일의 정확한 경로와 파일명을 제시해주어야 합니다.

  1. Home
  2. /
  3. Computing
  4. /
  5. Linux
  6. /
  7. Config
  8. /
  9. Linux OS의 ssh config에서 alias로 필요한 옵션 미리 설정하고 불필요한 입력 줄이기

Linux OS의 ssh config에서 alias로 필요한 옵션 미리 설정하고 불필요한 입력 줄이기

Published At: 2021-05-13 17:08:00 +0900
Modified At: 2021-05-13 17:20:00 +0900

Categories: computing, linux, config

«–

–»

Share onCopy URL KakaoFacebookTwitterLinkedIn

Table of Contents

  • Linux OS의 ssh config에서 alias로 필요한 옵션 미리 설정하고 불필요한 입력 줄이기
    • 초기 설정
      • 파일 생성
      • 권한 설정
    • config 상세
      • 사용 가능한 SSH 옵션명
      • 사용법
      • config과 사용법 예시

SSH는 암호화된 네트워크 통신 목적으로 많은 곳에서 응용되고 있다.
그중 Linux CLI 환경의 사용자가 원격으로 서버를 통제하기 위해 ssh를 활용해서 수동으로 여러대의 서버를 왔다갔다 접속하는 경우가 있다. 그러나 서버 설정에 맞게 ssh 커맨드의 옵션들을 수정해가며 반복 입력하기가 상당히 수고스럽다. 이때 config 파일을 이용하면 그러한 수고스러움을 덜 수 있다.
이 포스트에서는 Linux CLI 환경에서 ssh의 config 파일에 대해 알아보고 ssh 커맨드를 사용할 때 수동으로 입력해야하는 ssh 옵션들을 생략하는 방법을 살펴본다.

초기 설정

파일 생성

ssh의

touch ~/.ssh/config
4 파일은
touch ~/.ssh/config
5 에 위치한다. 만약 해당 파일이 존재하지 않는다면 직접 만들어주면 된다.

1
touch ~/.ssh/config

권한 설정

config 파일에는 소유자의 쓰기, 읽기 권한만 부여되어 있어야한다. 따라서 아래 명령어를 이용해서 config 파일에 알맞는 권한을 설정하도록 한다.

1
chmod 600 ~/.ssh/config

config 상세

config 파일은 하나의 alias에 여러 옵션들이 매핑되도록 작성되며 자세한 구조는 아래와 같다.

1
2
Host <Alias Name>
    <SSH 옵션명> <옵션값>

위 구조로 작성한 config 파일의 내용은 실제 ssh 커맨드를 사용할때 다음과 같이 작성해서 config 파일의 내용을 적용할 수 있다.

사용 가능한 SSH 옵션명

  • HostName :
    ssh 접속하려는 서버의 주소.
    touch ~/.ssh/config
    
    6 등의 alias 호스트명도 입력 가능하다.
  • User :
    ssh 접속하려는 서버의 계정명.
  • Port :
    ssh 접속하려는 서버의 접속 포트.

사용법

1
ssh <Alias Name>

이렇게만 입력하면 config 파일에 설정한

touch ~/.ssh/config
7의 내용이 커맨드에 자동으로 반영된다.

config과 사용법 예시

아래는 많이 쓰는 옵션들을 설정한 예시이다.

1
2
3
4
Host myDev1
    HostName 192.168.100.101
    User sammy
    Port 10101

위 예시의 설정 내용으로 ssh 커맨드를 사용하려면 shell에 아래처럼 입력하면 된다.

1
touch ~/.ssh/config
1

위 단축 ssh 명령어는 아래와 같은 ssh 완전한 형태의 명령어를 사용하는 것과 같다.

1
touch ~/.ssh/config
3

  • https://linuxize.com/post/using-the-ssh-config-file/

Meta Info

Categories: computing, linux, config

Published At: 2021-05-13 17:08:00 +0900

Modified At: 2021-05-13 17:20:00 +0900

Share on

Copy URL
SSH config 옵션 - SSH config obsyeon
Kakao Facebook Twitter LinkedIn

«–

–»

Leave a comment