Puteți folosi SSH pentru a accesa un astfel de socket în siguranță, valorificând opțiunile de securitate oferite de SSH. Nu ai nevoie socat
deloc, deoarece SSH permite redirecționarea socket-to-socket sau tcp-to-socket prin -L
opțiune:
-L [adresă_bind:]port:gazdă:port gazdă
-L [adresă_bind:]port:socket_la distanță
-L local_socket:host:hostport
-L local_socket:remote_socket
De exemplu. dacă ale tale qemu
procesul rulează cu -monitorizează unix:/my_path/my_fifo,server,acumwait
opțiune, folosire ssh virtualization-host -L /tmp/monitor:/my_path/my_fifo
pentru a vă conecta, apoi conectați-vă la priza locală /tmp/monitor
, sau utilizați ssh virtualization-host -L 12345:/my_path/my_fifo
și telnet la localhost:12345
(Clientul SSH va asculta numai pe localhost în acest caz).
Pentru a obține o securitate mai bună, utilizați cheile SSH pentru a vă conecta la monitoare. Pe gazda de virtualizare la distanță, creați un utilizator care va avea rw
drepturi asupra /my_path/my_fifo
obiect. Creați o pereche de chei și puneți cheia publică în cea a utilizatorului respectiv ~/.ssh/authorized_keys
fișier într-un mod restricționat pentru a permite numai redirecționarea:
restrict,port-forwarding,command="/bin/false" ssh-... ..... (șirul cheii publice)
Pentru a vă conecta, utilizați o comandă care nu alocă un shell și nu rulează o comandă, utilă doar pentru forward:
ssh monitoruser@virtualization-host -i mointor_private_key -L 12345:/my_path/my_fifo -N
și, în final, folosiți telnet localhost 12345
pentru a accesa soclul monitorului transmis prin SSH.