sshpass로 ssh 자동 로그인 및 원격 명령 실행하기

사용자의 암호 입력을 기다리지 않고 원격지에 ssh 로그인이 가능한 sshpass 패키지를 설치해보고, 간단하게 실습을 진행하여 쉽게 설정하고 사용할 수 있습니다.


사용자의 암호 입력을 기다리지 않고 원격지에 ssh 로그인이 가능한 sshpass 패키지를 설치해보고, 간단하게 실습을 진행하여 쉽게 설정하고 사용할 수 있습니다.

대부분 리눅스 시스템 관리자는 아이디와 비밀번호를 입력하거나 키 기반 인증을 사용하여 ssh를 통해 원격 서버에 로그인합니다. sshpass는 명령 프롬프트 자체에 암호 (비 대화식 암호 인증)를 제공하여 자동화 쉘 스크립트를 사용할 수 있는 편리한 도구입니다.
ssh는 직접 tty를 사용하여 대화식 키보드 사용자가 실제로 비밀번호를 입력하는지 확인합니다. sshpass는 tty에서 ssh를 실행하여 대화형 사용자로부터 암호를 받고 있다고 믿게 함으로써 파일이나 파라미터 값을 지정하여 자동으로 로그인 및 원격 명령을 실행할 수 있습니다.


실습 환경

  • 운영 체제(OS) : CentOS 8
  • root 계정으로 실행
  • IP 설정 및 인터넷이 가능한 환경

sshpass 패키지 설치하기

yum 명령을 사용해서 sshpass 패키지를 설치합니다.

[yum install sshpass -y]

[root@runit.cloud ~]# yum install sshpass -y Last metadata expiration check: 0:38:37 ago on Mon 27 Apr 2020 09:56:14 AM KST. Dependencies resolved. ============================================================================================================================================================================================================================================= Package Architecture Version Repository Size ============================================================================================================================================================================================================================================= Installing: sshpass x86_64 1.06-9.el8 epel 27 k Transaction Summary ============================================================================================================================================================================================================================================= Install 1 Package Total download size: 27 k Installed size: 40 k Downloading Packages: sshpass-1.06-9.el8.x86_64.rpm 83 kB/s | 27 kB 00:00 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 19 kB/s | 27 kB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : sshpass-1.06-9.el8.x86_64 1/1 Running scriptlet: sshpass-1.06-9.el8.x86_64 1/1 Verifying : sshpass-1.06-9.el8.x86_64 1/1 Installed: sshpass-1.06-9.el8.x86_64 Complete!

sshpass 명령어 옵션 확인하기

[sshpass -h]

[root@runit.cloud ~]# sshpass -h Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters -f filename Take password to use from file -d number Use number as file descriptor for getting password -p password Provide password as argument (security unwise) -e Password is passed as env-var "SSHPASS" With no parameters - password will be taken from stdin -P prompt Which string should sshpass search for to detect a password prompt -v Be verbose about what you're doing -h Show help (this screen) -V Print version information At most one of -f, -d, -p or -e should be used

ssh 로그인 및 원격 명령 실행하기

sshpass를 사용해서 ssh 로그인하기

다음 명령어를 통해 명령 프롬프트 없이 자동으로 ssh 로그인 할 수 있습니다.


  • sshpass를 사용한 ssh 로그인 명령 예제
  • [sshpass -p '비밀번호' ssh '아이디'@'아이피' -o StrictHostKeyChecking=no]

  • sshpass를 사용한 원격 리눅스 서버 ssh 로그인 명령
  • [sshpass -p runit ssh root@192.168.32.250 -o StrictHostKeyChecking=no]

    sshpass를 사용해서 원격 명령 실행하기

    ssh 로그인 후 배쉬 쉘 명령을 실행 할 수 있습니다.

    [sshpass -p runit ssh root@192.168.32.250 -o StrictHostKeyChecking=no 'df -h']

    [LINUX] sshpass로 ssh 자동 로그인 및 원격 명령 실행하기
    sshpass로 df -h 원격 명령 실행하기

    마무리

    리눅스 서버에서 sshpass를 사용해서 원격 서버에 명령어를 실행시키는 방법에 대해 알아보았습니다.

    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 자동 로그인 및 원격 명령 실행하기
    사용자의 암호 입력을 기다리지 않고 원격지에 ssh 로그인이 가능한 sshpass 패키지를 설치해보고, 간단하게 실습을 진행하여 쉽게 설정하고 사용할 수 있습니다.
    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-ssh.html
    https://www.runit.cloud/
    https://www.runit.cloud/
    https://www.runit.cloud/2020/04/sshpass-ssh.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