Linux의 Bash 스크립팅

Linux의 Bash 스크립팅

내 시스템에서 실행될 스크립트 파일을 사용하여 우분투의 원격 시스템에 로그인하고 싶습니다. 스크립트에는 다음 명령이 포함되어 있습니다.

#!/bin/bash
echo 'systemPwd' | ssh [email protected]

이 스크립트를 실행하면 시스템에 로그인할 수 없습니다. echo 명령에서는 비밀번호를 가져오지 않습니다. 그런데 대체품을 어떻게 사용하는지 모르겠어요.

하지만 나는 이 스크립트를 시도했다

#!/bin/bash
sshpass -p 'systemPwd' ssh [email protected] <<-'ENDSSH'
    #commands to run on remote host
    echo 'systemPwd' | sudo -S  shutdown-h now
ENDSSH  

위 스크립트에서는 sshpass이미 사용되었습니다 . 문제는 sshpass먼저 설치해야한다는 것입니다. 누구든지 sshpass.

답변1

를 사용하는 것이 좋습니다 SSH Keys.

생성하려면 SSH Keys클라이언트 컴퓨터에서 다음 명령을 사용합니다.

ssh-keygen -t rsa 

authorized_keys그런 다음 다음 명령을 사용하여 공개 키를 새 컴퓨터의 파일에 복사할 수 있습니다 ssh-copy-id.

ssh-copy-id [email protected]

그러면 비밀번호 없이 원격 컴퓨터에 로그인할 수 있습니다.

자세한 내용은:https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2

관련 정보