권한을 높이는 서버에 연결하는 스크립트를 작성하고 싶습니다. 지금은 스크립트를 사용하고 expect
있는데 변경하고 싶습니다. 이를 달성하기 위해 시도한 한 가지 방법은 다음과 같습니다.
ssh host -t 'echo "passowrd" | sudo -S echo; sudo -i'
서버의 명령 기록에 비밀번호가 저장되어 있나요? 다음 명령에 대한 문서를 찾을 수 없습니다.
ssh host -t 'ls;echo $SHELL;history;bash -l'
이 명령은 ls 명령과 "/bin/bash"의 결과를 표시합니다.
답변1
sudoer를 사용하는 것(visudo 또는 /etc/sudoers.d에 구성을 넣는 것)은 사용자에게 비밀번호 없이 주어진 명령을 실행할 수 있는 권한을 부여하는 더 나은 접근 방법인 것 같습니다.
대화형 모드를 사용하지 않는 경우(로그인하지 않고 원격으로 실행) bash 기록에 항목이 없습니다. Bash의 기록에 액세스하려면 다음 명령을 사용해야 합니다.
ssh host "cat .bash_history"
그러나 원격 실행에서는 항목을 찾을 수 없습니다.