![bash 스크립트 기능을 사용하여 원격 호스트에 SSH로 연결하는 방법은 무엇입니까? [복사]](https://linux55.com/image/131611/bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EA%B8%B0%EB%8A%A5%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%9B%90%EA%B2%A9%20%ED%98%B8%EC%8A%A4%ED%8A%B8%EC%97%90%20SSH%EB%A1%9C%20%EC%97%B0%EA%B2%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
저는 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"
이 명령은 스크립트 코드에서 테스트 폴더를 생성합니다.