sshpass로 ssh 로그인 자동화하기

sshpass를 사용하여 아이디와 패스워드를 설정한 쉘 스크립트 개발을 통해 원격지에 ssh 접속을 간편하게 할 수 있도록, 실습을 통해 쉽게 설정하고 사용할 수 있습니다.


[LINUX] sshpass로 ssh 로그인 자동화 스크립트 개발하기
sshpass 실행 결과 확인

sshpass를 사용하여 아이디와 패스워드를 설정한 쉘 스크립트를 통해 원격지에 ssh 접속을 간편하게 할 수 있도록, 실습을 통해 쉽게 설정하고 사용할 수 있습니다.

대량 리눅스 서버에 접속 시 sshpass를 사용한 bash 자동화 스크립트를 통해 간편하게 ssh 로그인 할 수 있습니다.
다중 계정 사용 시 case 사용으로 로그인 및 원격 명령을 실행 할 수 있습니다.


실습 환경

  • 운영 체제(OS) : CentOS 8
  • sshpass 패키지가 설치되어 있어야 합니다.
  • root 계정으로 실행
  • IP 설정 및 인터넷이 가능한 환경

사전 작업 참조하기

[리눅스] sshpass를 이용한 ssh 자동 로그인 및 원격 명령 실행하기 참조


실행 스크립트 작성하기

autossh 파일 생성하기

/root/bin 디렉토리를 생성하고, autossh 파일을 작성합니다.
비밀번호에 아이피 끝자리가 포함되어 있는 서버는 LAST_NUM 변수를 사용합니다.

[mkdir /root/bin]

[vi /root/bin/autossh]

아래 코드를 autossh 파일에 붙여넣습니다.

[#!/bin/sh RUN_USER=$(basename ${0}) RUN_ADDR=${1} RUN_PORT=${2:-22} LAST_NUM=${RUN_ADDR##*.} SSH_BIN=/usr/bin/ssh rootpw="비밀번호" apachepw="비밀번호" tomcatpw="비밀번호" mysqlpw=""비밀번호" fassopw="비밀번호" SSHPW="비밀번호${LAST_NUM}" case ${RUN_USER} in root) SSHPASS="${mnt7nspw}" /usr/bin/sshpass -e -- ${SSH_BIN} -p ${RUN_PORT} -l ${RUN_USER} ${RUN_ADDR} -o StrictHostKeyChecking=no ;; apache) SSHPASS="${apachepw}" /usr/bin/sshpass -e -- ${SSH_BIN} -p ${RUN_PORT} -l ${RUN_USER} ${RUN_ADDR} -o StrictHostKeyChecking=no ;; tomcat) SSHPASS="${tomcatpw}" /usr/bin/sshpass -e -- ${SSH_BIN} -p ${RUN_PORT} -l ${RUN_USER} ${RUN_ADDR} -o StrictHostKeyChecking=no ;; mysql) SSHPASS="${mysqlpw}" /usr/bin/sshpass -e -- ${SSH_BIN} -p ${RUN_PORT} -l ${RUN_USER} ${RUN_ADDR} -o StrictHostKeyChecking=no ;; fasoo) SSHPASS="${fasoopw}" /usr/bin/sshpass -e -- ${SSH_BIN} -p ${RUN_PORT} -l ${RUN_USER} ${RUN_ADDR} -o StrictHostKeyChecking=no ;; *) SSHPASS="${SSHPW}" /usr/bin/sshpass -e -- ${SSH_BIN} -t -p ${RUN_PORT} -l ${RUN_USER} ${RUN_ADDR} -o StrictHostKeyChecking=no ;; esac]

파일 권한 설정하기

[chmod 700 /root/bin/autossh]

계정 별 실행 파일 심볼링 링크 설정하기

[ln -s /root/bin/autossh /root/bin/root ln -s /root/bin/autossh /root/bin/apache ln -s /root/bin/autossh /root/bin/tomcat ln -s /root/bin/autossh /root/bin/mysql ln -s /root/bin/autossh /root/bin/fasoo]

sshpass를 사용한 ssh 자동 로그인 확인하기

SSH 로그인 테스트하기

명령어 형식 : ${account} ${ip}

root 192.168.32.250 apache 192.168.32.250 tomcat 192.168.32.250 mysql 192.168.32.250 fasoo 192.168.32.250

마무리

sshpass를 사용해서 ssh 자동 로그인 설정 방법에 대해 알아보았습니다.
bash shell script를 통해서 여러 계정의 ssh 자동 로그인을 사용할 수 있습니다.

COMMENTS

이름

가상 머신 생성,1,가상 머신 자동 시작,2,그라파나 비밀번호 초기화,1,데이터베이스 설치,1,리눅스 메모리,1,리눅스 명령어 자동 완성,2,리눅스 백업,1,리눅스 설치,1,리눅스 시스템 언어,1,리눅스 언어 설정,1,리눅스 원격 명령 실행,1,리눅스 프로세스,1,리눅스 한글 설정,1,리눅스 LOCALE,1,리버스 프록시,1,맥북,1,메모리,1,모바일 리다이렉션,1,모바일 페이지,1,백업 스크립트,1,버추얼박스 설치,1,보안 취약점,1,사설 인증서,1,서버 관리,2,소스 컴파일,1,슬랙 사용법,1,슬랙 시작,1,슬랙 초보자 가이드,1,엔진엑스 설치,1,원격 데스크톱 연결,1,웹 접속 제한,1,윈도우 비밀번호 초기화,1,윈도우 전원 옵션,1,윈도우 PATH,1,이미지 압축,1,이미지 용량 줄이기,1,인증서 생성,1,인증서 설치,1,자동 로그인,1,자빅스 한글,1,자체 서명,1,점검 스크립트,1,젠서버 설치,1,커널 삭제,1,콘솔 파란색 설정,1,클립보드 공유,1,파이썬 설치,1,파일 업로드 제한,1,프로세스 관리,1,프로세스 오류,1,한국어 설정,1,한글 설정,1,한영 전환,1,호스트 전용 네트워크,1,ADMIN 초기화,1,APACHE,1,APPLICATIONS,16,Big Sur,1,CentOS,4,CentOS 6,9,CentOS 7,4,CentOS 8,21,CentOS 8 설치,1,CentOS 설치 이미지 다운로드,1,CentOS ISO Download,1,CentOS-Base.repo,1,Citrix Hypervisor,2,DATABASES,1,dnf install httpd,1,DROPPING PACKET,1,GRAFANA,1,htpasswd,1,HTTP 기본 인증,2,HTTPS,1,IPTABLES,1,ISMS,1,ISO 저장소,1,JENNIFER,1,jennifer_admintool,1,jpg smaller,1,LINUX,29,macOS,2,MariaDB,1,MONITORING,3,NF_CONNTRACK,1,NGINX,9,NGINX 설치,1,NGINX SSL 설정,1,openssl 인증서 생성,1,pam 인증,1,passwd,1,PHP,1,PHP-FPM 설치,1,PuTTY,1,PYTHON,1,RSYNC,1,SFTP,1,Shift + Space 한영 전환,1,SLACK,2,slack 사용법,1,SSH 인증,1,SSH 자동 로그인,2,SSHPASS,3,SSL 경고 로그,1,SSL 인증서,1,su,1,SWAP,1,TABLE FULL,1,TABLEAU,1,tinypng,1,TIP,1,TMUX,3,TMUX 설치,2,useradd,1,userdel,1,VirtualBox,4,VIRTUALIZATION,7,VM,3,VMware,1,VMware 무료 라이센스,1,Vmware Fusion,1,wheel 그룹,1,WINDOWS,7,Windows 10,7,XCP-ng,2,XenServer,4,YUM,1,ZABBIX,1,
ltr
item
시스템 엔지니어의 세상: sshpass로 ssh 로그인 자동화하기
sshpass로 ssh 로그인 자동화하기
sshpass를 사용하여 아이디와 패스워드를 설정한 쉘 스크립트 개발을 통해 원격지에 ssh 접속을 간편하게 할 수 있도록, 실습을 통해 쉽게 설정하고 사용할 수 있습니다.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAICkSwSgyEKcgADW2t1I_YfPOL3_7q59i7WcZdgsT0MtRCDOspcFmSIy9rqSgIWL2zejgQXl96AbZ3ssVs4JX4iqREcEVc12PXKSKQ-2_E_xLmT6YmjuZIoYDGXAlmGIalt9e_A0CqNM/s1600/sshpass1+%25281%2529.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAICkSwSgyEKcgADW2t1I_YfPOL3_7q59i7WcZdgsT0MtRCDOspcFmSIy9rqSgIWL2zejgQXl96AbZ3ssVs4JX4iqREcEVc12PXKSKQ-2_E_xLmT6YmjuZIoYDGXAlmGIalt9e_A0CqNM/s72-c/sshpass1+%25281%2529.png
시스템 엔지니어의 세상
https://www.runit.cloud/2020/04/sshpass-autossh.html
https://www.runit.cloud/
https://www.runit.cloud/
https://www.runit.cloud/2020/04/sshpass-autossh.html
true
7559506062450536879
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content