su 명령을 호출할 때 숨겨진 비밀번호를 표시하시겠습니까? [복사]

su 명령을 호출할 때 숨겨진 비밀번호를 표시하시겠습니까? [복사]

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/"

관련 정보