sshpass를 사용하여 로그인된 서버에서 작업하는 방법

sshpass를 사용하여 로그인된 서버에서 작업하는 방법

저는 쉘 스크립팅을 처음 접했습니다. sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM명령을 통해 서버에 로그인을 시도했는데 성공했습니다.

내 질문은 동일한 로그인 서버에서 추가 작업을 수행하는 방법입니다(더 많은 명령 전달).

답변1

SSH를 사용하면 원격으로 명령을 실행할 수 있습니다

SSH 사용자@서버 "명령"

sshpass는 실제로 ssh를 실행하기 위한 비밀번호를 입력합니다. 따라서 SSH를 통해와 마찬가지로 명령을 호출할 수 있습니다.

sshpass -p "비밀번호" ssh -t -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM "명령; bash"

답변2

Ibrahim의 의견에 따르면 "cd /home/abc/xyz" 명령을 실행하면 ssh 명령을 통해 설정된 원격 연결을 통해 생성한 특정 bash 세션에 대해서만 실행됩니다. 원격으로 명령을 실행하려면 요구 사항에 맞게 다음 명령을 사용해야 합니다.

ssh YOUR_USERNAME@SOME_SITE.COM "command"

한 번에 더 많은 명령을 실행하려면 명령 사이에 &&를 사용하세요. 예시는 다음과 같습니다

ssh YOUR_USERNAME@SOME_SITE.COM "command1 && command2 && command3"

&& 및 ||에 대해 알아보고 인터넷에서 이에 대해 자세히 알아보세요.

관련 정보