내 스크립트가 비밀번호를 사용하여 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를 설정할 수 있습니다.sudo
ssh sudo id
ssh [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할 수 있습니다. 승인되고 사전 정의된 작업만 수행하도록 제어