pengembangan-web-mp.com

Bagaimana cara mengaktifkan penerusan SSH X11 melalui server tambahan?

Saya memiliki host A, B dan C. Dari Host A saya hanya dapat mengakses melalui ssh B. Dari B saya dapat mengakses C. Saya ingin dapat menjalankan program X11 pada layar C dan meneruskan ke A.

Saya mencoba ini:

A $ ssh -X B 
 B $ ssh -X C 
 C $ xclock 
 Kesalahan: Tidak dapat membuka tampilan: 

Tapi itu tidak berhasil.

34
lexsys

Ada beberapa cara untuk melakukan ini, yang saya sukai adalah meneruskan port ssh:

Pertama, sambungkan ke mesin B dan teruskan [localPort] ke C: 22 hingga B

A$ ssh -L [localPort]:C:22 B

Selanjutnya, sambungkan ke C dari A melalui terowongan yang baru dibuat ini menggunakan [localPort], meneruskan X11

A$ ssh -X -p [localPort] localhost

Sekarang kita dapat menjalankan program X11 pada C dan menampilkannya pada A.

C$ xclock

[localPort] bisa berupa port apa saja yang belum Anda dengarkan di A, saya sering menggunakan 2222 untuk kesederhanaan.

26
dave

Ini dapat dengan mudah dicapai dengan menggunakan penerusan port:

A$ ssh -NL 2022:C:22 B &
A$ ssh -X -p 2022 localhost
C$ xclock

Port localhost: 2022 diteruskan ke C: 22 via B SSH ke C via localhost: 2022 Gunakan X seperti biasa

7
AgentK

Dengan asumsi masalahnya adalah bahwa mesin tengah tidak memiliki X, tetapi jika tidak dikonfigurasi untuk memungkinkan penerusan X11, cukup instal xauth.

pada sistem berbasis yum (Fedora, redhat, centos):

B$ Sudo yum install xauth

pada sistem berbasis apt (debian, ubuntu):

B$ Sudo apt-get install xauth
4
Jayen

Untuk versi yang lebih baru opensshd Anda harus menonaktifkan X11UseLocalhost agar ini berfungsi.

Anda perlu melakukan ini di Host C's /etc/ssh/sshd_config dan mulai kembali sshd agar ini berfungsi:

X11Forwarding yes
X11UseLocalhost no
3
Brad Allison

Anda tidak dapat meneruskan tampilan X11 jika X11 Forwarding Anda dinonaktifkan di sshd apa pun yang Anda gunakan.

man sshd_config:

X11Forwarding
  Specifies whether X11 forwarding is permitted. The argument must be “yes”
  or “no”.  The default is “no”.

Anda harus memastikan X11Forwarding diaktifkan di tujuan dan semua sshds perantara yang Anda gunakan.

Sekedar petunjuk kecil: Anda harus mencoba menggunakan VNC, penerusan tampilan X11 cukup memakan bandwidth.

2
asdmin

Jika Anda sering beralih dari A ke C, Anda dapat mengonfigurasi B sebagai proxy:

A:~/.ssh/config:

Host C
  ForwardX11   yes
  ProxyCommand ssh -W %h:%p B

maka itu hanya:

A$ ssh C xclock
2
Jayen

Sudahkah Anda mencoba

A$ ssh -Y B
B$ ssh -Y C
C$ xlclock

Bendera -Y "Mengaktifkan penerusan X11 tepercaya."

1
pyhimys