이럴때를 위해 맥북에서는 ssh를 미리 저장해 놓고 alias 만으로 접속하는 기능이 있습니다.
맥북의 .ssh/config 파일을 사용하면 여러 서버에 대한 SSH 접속 설정을 간결하게 관리하고, 짧은 별칭(alias)으로 쉽게 접속할 수 있습니다. 이는 특히 여러 원격 서버나 여러 GitHub 계정을 관리할 때 매우 유용합니다.
.ssh/config 파일 생성 또는 열기
맥(macOS)의 경우 .ssh/config 파일이 자동으로 생성되어 있지 않을 수 있습니다. 이 경우 직접 파일을 생성해야 합니다.
touch ~/.ssh/config
open ~/.ssh/config
.ssh/config 파일 내용 작성
파일을 열고 아래와 같은 형식으로 각 서버의 접속 정보를 입력합니다.
Host [별칭]
HostName [원격 서버의 IP 주소 또는 도메인 이름]
User [접속할 사용자 계정]
IdentityFile [SSH 키 파일 경로]
Port [SSH 포트 번호 (기본값 22, 변경된 경우)]
Host: 이 별칭은 SSH 접속 시 사용할 짧은 이름(alias)이 됩니다.
HostName: 접속할 원격 서버의 IP 주소 또는 도메인 이름을 입력합니다.
User: 원격 서버에 접속할 사용자 계정 이름을 입력합니다.
IdentityFile: 해당 서버에 접속할 때 사용할 SSH 키 파일의 경로를 지정합니다. 예를 들어, ~/.ssh/your_key.pem과 같이 입력할 수 있습니다 . AWS EC2와 같은 경우 pem 키 파일을 다운로드하여 권한을 변경한 후 사용합니다.
권한은 다음 명령을 사용하여 변경합니다.
chmod 600 your_key_file.pem
권한을 변경하지 않으면 다음과 같은 메시지가 나옵니다.
Permissions 0644 for '/Users/admin/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/Users/admin/.ssh/id_rsa.pub": bad permissions
git@github.com: Permission denied (publickey).
Port: SSH 접속에 사용되는 포트 번호입니다. 기본값은 22이며, 변경된 경우에만 작성합니다.
Github의 경우 HostName과 User명은 아래와 같이 동일한 값을 사용합니다.
HostName github.com
User git
예시:
# 개인 GitHub 계정
Host github.com-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_personal
# 회사 GitHub 계정
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work
# 개발 서버
Host dev_server
HostName 192.168.0.1
User ubuntu
IdentityFile ~/.ssh/dev_server_key.pem
Port 2222
# Amazon Linux 2003 EC2
Host aws-ec2
HostName ec2-1-100-200-333.ap-northeast-2.compute.amazonaws.com
User ec2-user
IdentityFile ~/myec2.pem