Localiza todos os encaminhamentos de porta de todos os usuários

0

Estou executando uma máquina do CentOS 7 que apenas permite acesso ssh. Nessa máquina, estou executando várias máquinas virtuais do QEMU, cada uma com sua exibição em uma porta VNC diferente. Para acessar uma máquina eu estou pedindo às pessoas para ssh para a máquina e encaminhar a porta do servidor VNC desejado, por exemplo, se um dos servidores estiver ligado: 25 eles podem ser executados

ssh -L 5901:localhost:5925 user@host

em seguida, na máquina local, abra vncviewer to localhost:1

Como essas VMs serão compartilhadas entre muitos usuários, existe uma maneira que eu possa dizer, como o administrador da caixa, quem tem configuração de encaminhamento de porta para cada VM (ou qualquer outra porta arbitrária para esse assunto)?

Eu posso ver o meu próprio fazendo ~# , mas há uma maneira fácil de ver isso para os outros usuários?

A única coisa em que consigo pensar agora é fazer algo como netststat -panl | awk '$5 ~ /5925/ {print $7 $8}' e repetir para cada porta de interesse. Existe algo mais "adequado" ou sucinto?

    
por Eric Renouf 19.08.2016 / 01:08

1 resposta

0

Embora eu ainda esteja esperando que haja uma maneira de, digamos, consultar sshd para as informações, criei outra solução que me dirá quem tem o encaminhamento de porta aberto para quais portas no host local:

lsof -i -n | awk '/sshd.*->127.0.0.1:/ {n=split($9,a,":"); print $3 " " a[n];}'

que será impresso, por exemplo

erenouf 5925
erenouf 5926

mas somente se eu já tentei usar essas conexões, não meramente solicitei que o ssh faça o encaminhamento.

Isso também requer que eu saiba o IP de destino, o que eu faço para esse cenário (até agora, até adicionarmos uma segunda máquina), então ainda não é totalmente satisfatório.

    
por 23.08.2016 / 13:45