Ketika saya gunakan ssh -X
di Mac saya (menjalankan OS X 10.6.7) untuk terhubung ke kotak Ubuntu (11.04) saya, saya mendapatkan peringatan berikut:
Peringatan: penyiapan penerusan X11 yang tidak terpercaya gagal: data kunci xauth tidak dihasilkan Peringatan: Tidak ada data xauth; menggunakan data otentikasi palsu untuk penerusan X11.
Adakah yang bisa saya lakukan untuk menghilangkan peringatan ini? Jika tidak, bisakah saya mengabaikannya dengan aman?
Penerusan X11 sepertinya berfungsi dengan baik, meskipun saya melihat pesan ini:
Xlib: ekstensi "RANDR" hilang pada layar "localhost: 10.0".
Apakah itu terkait dengan peringatan itu? (Kurasa tidak. Jika tidak, aku akan mengajukan pertanyaan baru tentang itu.)
ssh
x11forwarding
warning
Daryl Spitzer
sumber
sumber
sudo apt-get install xauth
memberitahu saya "xauth sudah menjadi versi terbaru"Jawaban:
Apa alasan Anda tidak ingin menggunakan flag -Y alih-alih flag -X?
Sederhananya, perbedaan antara -X dan -Y adalah bahwa -Y memungkinkan penerusan X11 yang tepercaya.
sumber
Jika Anda datang ke sini pada tahun 2015: bahkan jika segalanya diatur dengan benar, ini juga dapat terjadi pada Mac OS X 10.10 Yosemite, ketika menggunakan
ssh -X
dan menjalankan versi XQuartz <= 2.7.7. Akar penyebabnya adalah soket tampilan X11 yang ditulis di luar jalur pencarian xauth: edisi # 2068 di pelacak XQuartz.Sunting: XQuartz yang diperbaiki sejak dirilis di beranda baru, xquartz.org , dan menginstal versi terbaru dari sana (saat ini 2.7.9) akan mengatasi masalah ini.
sumber
brew install xquartz
saat ini menginstal versi 2.7.7 yang ketinggalan zaman.brew install Caskroom/cask/xquartz
seharusnya memberi Anda XQuartz terbaru dengan HomeBrewbrew cask install xquartz
.Jika Anda mendapatkan pesan yang sama bahkan saat menggunakan
-Y
,xauth
program mungkin hilang di server. Pada sistem seperti Debian, Anda memerlukanxauth
paket. Pada sistem seperti RedHat, Anda memerlukanxorg-x11-xauth
paket.sumber
"Tidak tepercaya" dalam konteks ini berarti Anda tidak mempercayai koneksi. SSH akan menggunakan langkah-langkah keamanan tambahan untuk mencoba membuat penerusan X11 lebih aman. "Tepercaya" berarti Anda sepenuhnya yakin bahwa tidak ada nyala di host jarak jauh akan mendapatkan akses ke data Xauth Anda dan menggunakannya untuk memantau penekanan tombol Anda misalnya.
Terminologi ini sebenarnya membingungkan saya selama bertahun-tahun. Saya pikir koneksi "Tepercaya" lebih aman. Tetapi sebenarnya ini adalah opsi yang seharusnya Anda gunakan dalam situasi di mana koneksi IS dipercaya dan Anda ingin menjalankan hal-hal tanpa langkah-langkah keamanan tambahan menghalangi Anda. "Tidak dipercaya" adalah salah satu yang membuatnya (agak) lebih aman untuk berurusan dengan host jarak jauh yang tidak dipercaya.
Koneksi "Tidak Dipercaya" mencoba membatasi apa yang bisa dilakukan topi hitam kepada Anda dengan menggunakan ekstensi keamanan X11 dan menonaktifkan ekstensi lain yang Anda (mudah-mudahan) tidak perlu. Ini mungkin mengapa RandR dinonaktifkan dengan -X. Apakah Anda harus dapat memutar layar X dari host jarak jauh?
Penting juga untuk dicatat bahwa penerusan X11 "tidak dipercaya" mati setelah beberapa waktu untuk mencegah Anda secara tidak sengaja membiarkannya. Upaya baru untuk membuka windows akan gagal setelah itu. Itu menggigit saya beberapa kali sebelum saya membaca cukup dokumen untuk memahami apa yang terjadi.
sumber
Saya tidak memiliki pengaturan yang dapat menunjukkan perilaku ini, jadi ini adalah kesempatan yang sulit:
Peringatan itu mungkin ditekan jika Anda mengatur
ForwardX11Trusted
untuk"no"
host yang memberikan peringatan ini. Anda dapat menempatkan ini di salah satu~/.ssh/config
atau/etc/ssh/ssh_config
, dan Anda dapat membuat opsi khusus untuk host tertentu dengan memasukkanHost <hostname>
pada baris di atas. yang<hostname>
komponen sesuai apa yang Anda ketik pada baris perintah (bukan nama host diselesaikan), dan dapat mencakup wildcard.sumber
ssh -Y
untuk melakukan penerusan X11 yang tepercaya tetapi bagaimana cara memperbaiki yang tidak dipercaya?/etc/ssh/ssh_config
di sisi klien. Terima kasihWASPADALAH (lelah membaca jawaban yang tidak lengkap yang mengarah pada kelemahan keamanan)
1 / menggunakan ssh -Y berarti di sini memiliki informasi xauth palsu yang buruk!
2 / ssh -X harus berfungsi karena XQuartz, setelah diaktifkan, menggunakan xauth. Satu-satunya masalah adalah ssh mencari xauth di / usr / X11R6 / bin dan pada Macos dengan XQuartz ada di / opt / X11 / bin
Pemecahan aman:
1 / Aktifkan opsi pertama di tab Keamanan preferensi (Cmd-,) yang memungkinkan koneksi terotentikasi
2 / tambah
XAuthLocation /opt/X11/bin/xauth
dalam $ HOME / .ssh / config
3 /
ssh -X you_server
bekerja dengan cara yang amansumber
Jika menginstal
xauth
tidak berfungsi dengan benar, satu kasus yang sangat mengganggu bisa menjadi.Xauthority
file yang rusak . Kasus khusus ini memungkinkan beberapa klien X untuk bekerja, tetapi tidak yang lain dengan kecenderungan lebih besar untuk gagal dengan tampilan yang lebih baru. Menghapus dan membuat ulang.Xauthority
file dapat menyelesaikan masalah itu.sumber
Singkirkan masalah sisi server
Pertama, Anda harus mengesampingkan masalah sisi server. Apakah Anda berhasil
ssh -X
dari host lain? Apakahssh -Y
bekerja sementarassh -X
tidak? Dalam kedua kasus, anggap ssh + X11 sudah diatur dengan benar di server Anda dan pindah ke bagian berikutnya.Jika Anda tidak dalam posisi untuk memeriksa itu (Anda memiliki tetapi satu laptop Anda menjalankan X11, katakanlah), Anda bisa
ssh
dari server ke dirinya sendiri menggunakan sesi palsu:export DISPLAY=:44
# (Shell Bourne) atausetenv DISPLAY :44
# (csh / tcsh)xauth add $DISPLAY MIT-MAGIC-COOKIE-1 1234
# Cookie palsu hanya untuk tes inissh -X localhost env |grep DISPLAY
Hasil yang diharapkan: harus ada variabel DISPLAY yang diatur pada ujung remote dari sesi ssh-to-self. Jika Anda tidak mendapatkan hasil, server Anda kemungkinan tidak terkonfigurasi (mis. Pustaka X11 dan / atau
xauth
perintah mungkin tidak ada; atau konfigurasi sshd dapat diatur untuk menolak akses X11)Di Mac: periksa apakah Xquartz terbaru
Sesuai jawaban Will Angley
Periksa
ssh -vv -X
outputPesan kesalahan yang Anda kutip adalah gejala yang dapat memiliki banyak penyebab. Coba lagi dengan , yang seharusnya memberi Anda petunjuk tambahan mengapa pengaturan terowongan X11 gagal.
ssh -X -vv remotehost
Apakah Anda melihat pesan berikut muncul?
Jika begitu,xauth
perintah berada:sumber
Seperti yang telah dijelaskan di atas, berikut ini bekerja untuk saya:
Edit ~ / .ssh / config untuk menambahkan baris
dan sekarang ssh -X hostname berfungsi (XQuartz 2.7.11, macOS 10.4 Mojave)
sumber
Saya sudah menginstal XQuartz 2.7.11 terbaru, tetapi saya pikir saya juga telah memperbarui OS beberapa kali sejak itu. Saya menginstal ulang XQuartz 2.7.11, dan sekarang berfungsi dengan baik.
sumber
xauth tambahkan `hostname` / unix: 10 MIT-MAGIC-COOKIE-1` openssl rand -hex 16`
sumber