Saya terkadang mendapatkan kesalahan ini ketika mencoba ssh ke host jarak jauh:
mux_client_request_session: read from master failed: Broken pipe
Saya menggunakan Macbook Air OS X Lion dengan ini di ~ / .ssh / config:
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 4h
ForwardAgent yes
Host [ex]
HostName [example.com]
User [somedude]
Kesalahan di atas terjadi ketika saya melakukannya:
ssh ex
Terminal hang ~ 1 menit dan kemudian menampilkan:
mux_client_request_session: read from master failed: Broken pipe
[email protected]'s password:
Saya mengetikkan kata sandi dan tidak apa-apa. Dan jika saya membuka tab Terminal lain, berbagi koneksi juga ok. Bagaimana saya bisa memperbaikinya? Itu tidak mengerikan, tapi itu menjengkelkan.
ssh
terminal
connection-sharing
macbook-air
David Xia
sumber
sumber
Jawaban:
Anda telah
ControlPersist
mengaktifkan. Dugaan saya yang berpendidikan adalah bahwa yang berikut ini terjadi:ControlPersist
diaktifkan, sesi tetap terbuka untuk koneksi di masa mendatang.ssh [email protected]
lagi, itu mencoba untuk menggunakan kembali koneksi dari langkah 2, dan membuka koneksi baru setelah batas waktu.Tidak ada opsi terpisah untuk batas waktu ini, menurut
man ssh_config
. Untuk menghindari ini, jangan gunakanControlPersist
. Selain itu, saya sangat merekomendasikan menggunakan login kunci publik, jika memungkinkan. Anda masih dapat memiliki frasa sandi untuk kunci publik Anda, tetapi kunci publik secara efektif mencegah pemaksaan kasar kata sandi Anda melalui koneksi SSH.Selain itu, Anda tidak boleh menyimpan file kontrol di bawah
/tmp
. Itu harus / harus diamankan, dan untuk itu, misalnya~/.ssh/master/ssh_mux_%h_%p_%r
lokasi yang jauh lebih baik. Tentu saja, jika Anda satu-satunya pengguna laptop Anda (?), Itu bukan masalah besar.sumber