Obtenha o diretório de trabalho remoto da sessão SSH existente

0

Suponha que eu tenha uma sessão SSH em um host remoto e digamos que eu conheça o PID dessa sessão em minha máquina local. Eu estou tentando chegar a um caminho para um processo na minha máquina local para obter programaticamente o diretório de trabalho da sessão SSH no host remoto .

Aqui está a melhor maneira que eu criei.

$ sh -c "$(cat /proc/$SSH_PID/cmdline | tr '
$ sh -c "$(cat /proc/$SSH_PID/cmdline | tr '%pre%' ' ')\
     'readlink /proc/\$(pgrep -P \
         \$(pgrep -u \$(whoami) sshd | tail -n2 | head -n1)\
     \$(basename \$SHELL))/cwd'"
' ' ')\ 'readlink /proc/\$(pgrep -P \ \$(pgrep -u \$(whoami) sshd | tail -n2 | head -n1)\ \$(basename \$SHELL))/cwd'"

Em outras palavras, obtenha a linha de comando da sessão SSH existente pelo PID e, em seguida, execute-a novamente com um comando para ler o CWD do shell da segunda para a última conexão feita pelo sshd por esse usuário (desde o última seria a conexão executando o comando em si).

Esta claramente não é uma solução muito robusta ou elegante. Existe uma maneira melhor?

    
por krampus 26.04.2017 / 00:09

0 respostas