su 명령을 사용한 것은 이번이 처음이며 실제로 터미널에 비밀번호가 표시되고 숨겨지지 않습니다. 내 코드 조각은 다음과 같습니다.
sshpass -p "password" ssh -q [email protected] "su -lc 'mkdir temp/'"
코드 설명: 원격 서버에 액세스하고 해당 서버에 루트로 폴더를 만들려고 합니다. 이렇게 하려면 비밀번호를 묻는 su 명령을 사용해야 합니다. 비밀번호를 입력하면 숨겨지지 않고 표시됩니다.
답변1
나는 당신이 사용해야한다고 생각합니다 sudo
.
sshpass -p "password" ssh -q [email protected] "sudo mkdir temp/"
sudo를 사용하면 비밀번호 없이 mkdir을 실행할 수도 있습니다. 실행 visudo
하고 다음 줄을 추가하세요:
your_username ALL=(ALL)NOPASSWD:/usr/bin/mkdir
. 귀하의 사용자 계정이 손상된 경우 보안 위험이 발생할 수 있습니다.
또한 이 명령의 사용 사례에 적합한 경우 SSH에 대한 공개 키 인증을 설정할 수 있습니다. 그런 다음 'sshpass'를 제거하고 간단히 .ssh -q [email protected] "sudo mkdir temp/"