bash 1에서 다음 명령을 무작위로 실행해 보았습니다 .
cat /some/file | ssh user@machine 'cat >/destination/file
원격 시스템에는 키가 설치되어 있지 않으므로 유일한 인증 방법은 비밀번호 메커니즘을 사용하는 것입니다. 배관이 터미널에서 SSH의 표준 입력 연결을 끊기 때문에 이것이 작동하지 않을 것이라고 생각합니다. 비밀번호를 묻는 메시지가 표시되고 파일이 성공적으로 전송되었을 때 놀랐습니다.
연결되지 않았을 때 SSH가 키보드를 읽고 비밀번호를 묻는 방법에 대한 아이디어가 있습니까?
1 두 컴퓨터 간에 파일을 복사하는 더 나은 대안을 알고 있습니다.
답변1
(Open)ssh는 tty에서 직접 읽습니다. 바라보다:
답변2
cat /some/file | ssh user@machine 'cat >/destination/file
프롬프트가 표시되고 비밀번호(보안)가 읽기 전에 ssh
잘리기 때문에 작동하지 않습니다. stdin
가능한 해결 방법은 expect
실행 중인 프로세스와 ssh
상호 작용 하는 스크립트를 사용하는 것입니다.