# 서론
개발하다보면 서버에 원격으로 접속(SSH)해서 개발해야하는 경우가 있다.
보통 그런 경우, 한두번이 아니라 자주 접속해야 한다.
이번에 내가 최소화려는 작업은 unix 운영체제의 alias를 적극 활용한다. (Alias 에 대한 설명은 SKIP)
보안은 각자&모두의 책임입니다.
# 내가 자동화하려는 부분
- 접속 대상 서버의 IP 주소와 포트번호를 찾는다 (기억하는건 고려대상에서 제외)
- ssh joohyukkim@192.123.456.789 -p 8412 (예시)와 같은 명령어 입력
- 비밀번호 입력
# 원하는 기대효과
마치 로컬 디렉토리를 cd(명령어)로 이동하듯이 서버에 ssh하기
# 원리
ssh 에서는 패스워드를 입력하는 부분이 없기 때문에 sshpass 라는 프로그램을 이용한다.
sshpass 에서 ssh 명령어와 interaction을 하면서 비밀번호 전닮
# 방법
1. sshpass 다운로드
# Linux
$ sudo apt-get install sshpass
# Mac
$ brew tap esolitos/ipa
$ brew install sshpass
2. alias 로 등록하기 (예시는 iTerm2 기준)
1. 비밀번호 생성하기
# echo 'ssh시입력하는비밀번호' >> 로컬에저장할-full-파일-path
$ echo 'user12pass' >> '~/users/joohyukkim/configs/passfile'
2. 비번파일에 대한 권한 설정
$ chmod 600 '~/users/joohyukkim/configs/passfile'
3. 터미널 단축키 등록(alias)
# .zprofile 은 터미널이 iTerm2 인 경우, 맥 기본은 ~/.bashrc 인가에 해줘야하는것으로 기억함
# echo alias 원하는단축키명=\’sshpass -f 비번파일_경로 ssh 서버유저네임@서버IP주소 -p 포트번호\’ >> ~/.설정파일
$ echo alias sshmyservice=\’sshpass -f ~/users/joohyukkim/configs/passfile ssh joohyukkim@192.123.123.321 -p 3381\’ >> ~/.zprofile
4. 사용하기
$ sshmyservice
5. 원격접속 성공~
참고자료
- https://www.howtogeek.com/devops/how-to-automate-ssh-logins-if-you-must-use-a-password/
- Install on m1 https://gist.github.com/arunoda/7790979
'자동화' 카테고리의 다른 글
vol.1 "자동화" 시리즈를 시작하며... (0) | 2022.08.05 |
---|