.bashrc 사용자 정의 보조 비밀번호 및 SCP가 작동하지 않습니다. (SSH 보조 비밀번호)

.bashrc 사용자 정의 보조 비밀번호 및 SCP가 작동하지 않습니다. (SSH 보조 비밀번호)

~/.bashrc"어떤 목적으로" 보조 비밀번호를 묻는 스크립트를 추가했는데 이것이 제 목적에 부합했습니다. 그러나 한 가지 작은 문제가 있습니다.

scp서버에 연결할 때 "stdin: is not a tty"에서 사용자 정의 스크립트를 ~/.bashrc 실행할 때 발생하는 오류 로 인해 실패합니다.scp

나는 sh second_pass.sh출신~/.bashrc

콘텐츠 second_pass.sh:

trapeze ()  {
    printf "Trying to kill me!!" }

trap trapeze SIGINT

while true; do echo "Please enter the password:" read -s password

if [[ -z "$password" ]] ; then
    continue ; fi

hash="$(echo -n "$password" | md5sum )" password=`echo "$hash" | awk '{print $1}'`

if [ "$password" == "a359c98e8c05feaf91bdb8cfc7dd6b" ] then
    exit ; else
    echo "WRONG!!!" fi done

결과는 내가 할 scp

stdin: is not a tty
Please enter the password:

그런 다음 scp실패합니다.

scp&를 사용하고 비밀번호 프롬프트 스크립트를 유지하고 싶습니다 ~/.bashrc.
어떻게 해야 합니까?

답변1

교체를 시도하다

 while true ; do echo ...

통과

 while tty -s ; do echo ...

이렇게 하면 이중 비밀번호 확인이 비활성화됩니다.

이것은 당신이 원하는 것이 아닐 수도 있습니다.

이제 두 개의 비밀번호 전략을 고수하는 경우 남은 유일한 옵션은 scp파일이 제공된 플랫폼에 따라 로그인한 후(그리고 두 번 식별한 후) 파일을 추출하는 것입니다.

관련 정보