Domanda

Ho alcune applicazioni e gli strumenti standard Unix che inviano la loro produzione al-named pipe in Solaris, pipe comunque denominate possono essere letti solo dalla memoria locale (su Solaris), quindi non possono accedervi dal attraverso la rete o posizionare i tubi in una memoria NFS per l'accesso in rete per la loro produzione.

Il che mi ha fatto chiedendo se ci fosse un modo analogo a trasmettere l'uscita di strumenti a linea di comando direttamente ai socket, dire qualcosa come:

mksocket mysocket:12345
vmstat 1 > mysocket 2>&1

Altri suggerimenti

netcat (noto anche come nc) è esattamente quello che stai cercando. Sta diventando per essere ragionevolmente standard, ma non sono disponibili su tutti i sistemi.

socat sembra essere una versione rinforzata-up di netcat, con molte più funzioni, ma meno comunemente disponibili.

Su Linux, è anche possibile utilizzare /dev/tcp/<host>/<port>. Vedere le Guida avanzata di scripting Bash per ulteriori informazioni.

netcat contribuirà a stabilire un tubo attraverso la rete.

Si consiglia di utilizzare uno dei seguenti:

  1. ssh: sicuro (criptato), già installato out-of-the-box su Solaris - ma è necessario impostare una coppia di chiavi per le sessioni non interattive
    • es. vmstat 2>&1 | ssh -i private.key oss@remote.node "cat >vmstat.out"
  2. netcat: semplice da impostare - ma insicura e aperta ad attacchi

Tutti sono sulla strada giusta con netcat. Ma voglio aggiungere che se si sta tubazioni in nc e in attesa di una risposta, è necessario utilizzare l'opzione -q <seconds>. Dal manuale:

  

secondi -q

     

dopo EOF su stdin, attendere il numero specificato di secondi e quindi chiudere. Se è negativo secondi, aspettare per sempre.

Per esempio, se si desidera interagire con il vostro agente SSH si può fare qualcosa di simile:

echo -en '\x00\x00\x00\x01\x0b' | nc -q 1 -U $SSH_AUTH_SOCK | strings

Un esempio più completo è a https://gist.github.com/RichardBronosky/514dbbcd20a9ed77661fc3db9d1f93e4

* Ho rubato questo da https: //ptspts.blogspot.com/2010/06/how-to-use-ssh-agent-programmatically.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top