Capistrano는 Ubuntu 상자에 Sudo 비밀번호를 제기 할 때 매달려 있습니다.

StackOverflow https://stackoverflow.com/questions/431925

  •  08-07-2019
  •  | 
  •  

문제

잠시 동안 사용했던 Capistrano 배포 레시피가 웹 앱을 배포 한 다음 Sudo 명령을 사용하여 Apache/Nginx를 다시 시작합니다. 최근 에이 Sudo 명령을 실행하려고 할 때 CAP Deploy가 매달려 있습니다. 내 서버 이름과 원격 로그인에 대한 [sudo] 암호"를 출력하지만 보안 로그인 프롬프트는 아닙니다. 캡 쉘은 더 많은 출력을 기다리고 있으며 원격 sudo 명령을 완료하기 위해 암호를 입력 할 수 없습니다.

이 문제를 해결하는 방법이 있습니까? 웹 재시작 명령에 대한 원격 사용자의 Sudo 비밀번호 프롬프트를 제거하고 싶지 않았습니다.

도움이 되었습니까?

해결책

이것은 Centos 기계에도 연결할 때 발생하는 것 같습니다. Capistrano 배포 파일에 다음 줄을 추가하십시오.

default_run_options[:pty] = true

또한 사용하십시오 sudo 실행 대신 도우미 sudo 실행에서 직접 명령. 예를 들어:

# not
run "sudo chown root:root /etc/my.cnf"

# but
sudo "chown root:root /etc/my.cnf"

다른 팁

다른 조언은 소리 일지 모르지만 Capistrano 2.5.3으로 업데이트되면 문제가 사라 졌다는 것을 알았습니다. 내 O/S와 함께 제공되는 도구의 기본 버전을 실행하지 않아야합니다.

# prevent sudo prompting for password
set :sudo_prompt, ""
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top