비밀번호를 입력하지 않고 sudo를 사용하여 ssh를 통해 원격 스크립트를 실행하는 방법

비밀번호를 입력하지 않고 sudo를 사용하여 ssh를 통해 원격 스크립트를 실행하는 방법

내 스크립트가 비밀번호를 사용하여 ssh에 연결되기를 원하며 일단 연결되면 명령 으로 전환 sudo -s하여 실행됩니다.mkdir

현재 비밀번호를 입력하지 않고 SSH에 연결할 수 있지만 사용자 스위치를 통해 폴더를 만들 수 없습니다.

좋다:

root@computer:/home/user/test# sshpass -p 'password' ssh [email protected]  mkdir /var/volatile/flash-upgrade

mkdir: can't create directory '/var/volatile/flash-upgrade': Permission denied

루트 사용자만 폴더를 생성할 수 있습니다.

답변1

예를 들어, 192.168.2.250의 사용자는 올바른 사용자에 연결할 admin수 있어야 합니다 . 또는 시스템 사용자에게 루트 액세스를 허용하도록 ssh를 설정할 수 있습니다.sudossh sudo idssh [email protected]

홈 네트워크만 사용하는 경우 회사 환경에서는 둘 다 문제가 없으며 보안에 미치는 영향을 고려해야 합니다.

답변2

태그가 지정된 SSH 공개 키 인증을 사용하여 루트 액세스만 허용할 수 있습니다. /etc/ssh/sshd_config에서 set PermitRootLogin forced-command-only Force-command는 /root/.ssh/authorized_keys의 공개 키에 태그를 지정하는 명령입니다. 예를 들어 command="script_you_have_strictly_controlled" id-rsa <public key here> 다음과 같이 Elevate할 수 있습니다. 승인되고 사전 정의된 작업만 수행하도록 제어

관련 정보