Tôi muốn chuyển đầu ra của ssh sang một lệnh khác. Ví dụ:
ssh myserver cat remote-file | diff local-file -
Vấn đề là myserver yêu cầu mật khẩu, nhưng tôi không thể nhập nó. (Vì một số lý do, xác thực khóa công khai không khả dụng trên máy chủ. Tôi không thể thay đổi điều này.) Tôi nhận được lời nhắc "Mật khẩu:", nhưng các khóa tôi nhập bị lặp lại và không được chuyển cho ssh. Làm thế nào tôi có thể làm cho ssh có được mật khẩu?
Lưu ý Tôi không cố gắng chuyển mật khẩu vào ssh . Tôi đang cố gắng chuyển đầu ra của ssh và nhập mật khẩu như bình thường.
Trong trường hợp có vấn đề, tôi đang sử dụng bash trên OS X 10.7 (Lion) và Terminal chuẩn. Tôi không có bí danh nào được thiết lập có thể gây ra điều này. Tôi đã thấy cùng một hệ thống khác nhau (Linux), vì vậy tôi tin rằng nó không cụ thể đối với thiết lập của tôi.
test
khi nào echo test > /dev/tty
không?
ssh myserver cat remote-file
một mình nó hoạt động như mong đợi, cũng echo test > /dev/tty
hoạt động. Tuy nhiên, chạy với set -x
nhổ ra một đống rác. Hóa ra tôi đã tùy chỉnh lời nhắc của mình để đặt tiêu đề cửa sổ thành lệnh hiện đang chạy. Điều đó đã tạo ra một nhánh con cho mọi lệnh và bằng cách nào đó đã làm hỏng điều này. Khi tôi nhận xét các dòng vi phạm, nó đã làm việc.
ssh myserver cat remote-file
một mình? Bạn thấy gì khi bạn chạy nó sauset -x
?