우리 회사의 고객 중 한 명이 IPSwitch SFTP 서버를 운영하고 있는데 공개 키 인증을 허용하지 않고 90일마다 비밀번호를 변경하도록 요구합니다.
문제는 사전에 비밀번호를 사전에 변경할 수 있는 방법이 없다는 것입니다. 비밀번호가 만료된 후 로그인을 시도하면 인증 오류가 발생하고 비밀번호를 변경하라는 메시지가 표시됩니다. 우리 시스템은 모두 자동화되어 있으므로 자동으로 변경할 수 있는 방법이 필요합니다.
오류를 포착하고 로그인을 시도하는 스크립트를 시작하고 stdout/stderr에서 비밀번호 프롬프트를 읽고 stdin을 통해 새 비밀번호를 다시 보내는 스크립트를 시작하면 좋을 것 같습니다.
이 접근 방식의 문제점은 일반 SSH 클라이언트가 별도의 tty를 사용하여 비밀번호 프롬프트 등을 전송한다는 것입니다. 따라서 일반 stdout/stderr 캡처가 작동하지 않습니다(답변 참조).http://goo.gl/p1xOPu설명을 위해).
이 답변에 설명된 대로 의사 터미널을 설정하게 될 수도 있지만 꽤 복잡한 것 같아서 여기에 있는 사람이 더 나은 아이디어를 가지고 있는지 알아보고 싶습니다.
감사해요:)