본문 바로가기
Linux

[Linux] ssh 키 생성, 서버에 등록, 명령어 단축어 (alias) 설정

by snwo 2021. 7. 13.

클라우드 서버를 생성하고, 

내 컴퓨터에서 간편하게 짧은 명령어로

비밀번호 없이 접속하는 방법을 소개하겠습니다.

 

ssh 키 생성, 등록

ssh-keygen -t rsa -b 4096

로컬에서 이렇게 명령어 입력하시고, 

위치 바꿀 필요 없이 엔터 3번 눌러주시면, 공개키, 비밀키가 생성됩니다.

 

기본적으로 홈디렉터리에 숨긴폴더인 .ssh 에 id_rsa (비밀키), id_rsa.pub (공개키) 가 생성이 됩니다.

공개키를 cat 등으로 출력한 다음, 복사해두고 클라우드서버에 접속합시다.

 

cd ~
ls -al

없다면 mkdir ~/.ssh, 

chmod ~/.ssh 700
touch ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys

접속한 계정의 홈 디렉토리로 가서, ls -al 으로 폴더를 확인 후,

.ssh 폴더가 없으면 생성해줍니다.

그리고 chmod 로 폴더 권한을 바꾼 다음, 

authorized_keys 파일도 생성해주고 권한을 바꿔줍시다.

 

echo "ssh-rsa AAABDFSA69fd2@Af ~~~~ " >> ~/.ssh/authorized_keys

그리고 아까 복사한 로컬의 공개키를 authorized_keys 에 추가해줍시다.

 

그러면 이제 로컬에서 비밀번호를 치지 않고도 클라우드서버에 접속할 수 있습니다 !

 

공개키는 또한 깃허브에 등록하여 private repo 를 clone/push 할 수 있고,

vscode 로 클라우드 서버의 소스를 수정할 수도 있습니다.

2021.03.24 - [Program] - [Program] vscode ssh 연결해서 작업하기

 

[Program] vscode ssh 연결해서 작업하기

ㅈㄱㄴ 1. ssh 설치 2. ssh 연결 3. ssh-key 등록으로 비밀번호 없이 연결하기 ssh 설치 패키지에서 Remote-SSH 를 받아줍시다. ssh 연결 F1 을 눌러 remote-ssh 을 입력하고 Connect to Host 해봅시다. 158. ~..

snwo.tistory.com

참고로 비밀키는 자신만이 알아야하는 정보여야 하므로, 실수로 유출하지 않게 조심합시당

 

 

단축어 (alias) 설정

 

echo $SHELL

먼저 사용하는 쉘을 확인합시다 

보통 /bin/sh 나 /bin/zsh 를 사용하는데, 제가 사용하는건 zsh 이기 때문에, zsh 를 기준으로 설명하겠습니다.

 

nano ~/.zshrc
nano ~/.bashrc

사용자의 쉘 환경설정을 수정해야합니다. zsh 면 .zshrc 를, bash 면 .bashrc 를 수정하면 됩니다.

텍스트 에디터는 편한걸로 사용하셔도 무방합니다.

 

파일을 열면 글자들이 보일텐데, 무시하시고 마지막줄이나 중간에 적당한 곳을 찾아

export 변수이름 = " ip주소 "

alias 명령어 = "ssh 계정명@ip주소"

두 줄을 입력해줍시다. ip주소를 변수에 저장해 놓는다면,

echo $변수이름 으로 아이피 주소를 확인하거나

ssh root@$변수이름 이렇게 ip 주소를 기억하지 않아도 변수로 사용할 수 있습니다.

 

또한 alias 로 ssh ~~ 을 원하는 명령어로 줄일 수 있습니다.

 

export waylab="XXX.XXX.XXX.XXX"
alias go="ssh XXXX@$waylab"

저 같은 경우에는 이런식으로 저장했습니다.

 

이제 새 zsh 를 열거나, 창을 닫고 다시 시작하면, 명령어와 변수를 사용할 수 있게 됩니다.

 

화이팅하세요