Pertimbangkan situasi di mana saya masuk lebih dari SSH dari mesin A ke mesin B, saya memiliki sesi X pada mesin A, dan saya ingin menjalankan program X pada B.
ssh -X B
membuat pekerjaan ini transparan. Tetapi bagaimana jika konfigurasi server kurang X11Forwarding yes
, saya tidak memiliki izin root di server, dan administrator server acuh tak acuh?
Jelas mungkin untuk meneruskan koneksi X11, karena saya dapat mentransfer apa pun yang saya inginkan melalui saluran SSH. Bahkan, jika server X lokal memungkinkan koneksi TCP, itu semudah ssh -R 6010:localhost:6000
(disesuaikan dengan nomor tampilan). Bagaimana dengan kasus umum di mana server X lokal hanya memungkinkan koneksi soket? Bagaimana saya melakukan penerusan X dengan mudah dan aman, dengan persyaratan instalasi minimum (terutama pada B)?
sumber
.ssh/config
sisi klien Anda dan itu di.profile
sisi server Anda , dan kemudian jalankanssh B
"./tmp/.X11-unix/X0
adalah soket domain unix, bukan FIFO, sehingga setiap upaya pengalihan berakhir denganENXIO: No such device
.Putar server X tambahan menggunakan Xephyr. Ini untuk keamanan - mencegah sistem jarak jauh dari kompromi Anda.
Gunakan SSH untuk meneruskan soket jarak jauh ke soket Xephyr. SSH juga mendukung penerusan soket Unix.
Atur variabel lingkungan di server jauh dengan benar.
sumber