저는 bash 스크립팅을 처음 접했습니다. 내 스크립트에서 원격 컴퓨터(내 LAN에 있는)로 ssh하는 함수를 호출하고 명령을 실행하고 싶습니다.
지금까지 나는 다음을 가지고 있습니다 :
function run_ssh_command {
target_ip=$1
username=$2
password=$3
cmd=$4
ssh -l ${username} ${target_ip} ${password}
}
터미널에서 다음과 같이 함수를 호출합니다.
(노트: 내 컴퓨터에서 함수를 실행할 때 script_name, 사용자 이름 및 비밀번호에 "실제" 값을 제공합니다. "ifconfig"는 원격 시스템에서 실행하려는 명령입니다. )
source script_name.sh; run_ssh_command 192.168.X.Y username password ifconfig
결과: 위 명령을 실행하면 로그인 프로세스의 비밀번호 프롬프트 부분으로 이동합니다(예: ssh와 동일).[이메일 보호됨])
질문: 비밀번호 입력을 자동으로 처리하는 스크립트를 사용하고 싶습니다. 일반적으로 이 문제를 해결하는 "가장 좋은" 방법은 무엇입니까?
답변1
답변2
스크립트에서 ssh를 실행하려면 다음을 사용하세요.
ssh -i {privateKey} -o StrictHostKeyChecking=no {userName}@{serverIp} "{command}"
예:
ssh -i privateKey -o StrictHostKeyChecking=no [email protected] "mkdir testFolder"
이 명령은 스크립트 코드에서 테스트 폴더를 생성합니다.