При удаленном выполнении команд ssh через ProxyCommand наблюдается странный вывод - PullRequest
0 голосов
/ 07 мая 2019

Команда, у меня есть два шага, чтобы выполнить:

  1. SCP файл сценария оболочки для удаленной машины Ubuntu Linux
  2. Выполнить этот загруженный файл на удаленной машине Linux Ubuntu через сеанс SSH, используя сеанс SSHPROXYCommand, потому что у меня впереди бастионный сервер.

Код:

scp -i /home/dtlu/.ssh/key.key -o "ProxyCommand ssh -i /home/dtlu/.ssh/key.key lab@api.dev.test.com -W %h:%p"  /home/dtlu/backup/test.sh lab@$k8s_node_ip:/tmp/

ssh -o StrictHostKeyChecking=no -i /home/dtlu/.ssh/key.key -o 'ProxyCommand ssh -i /home/dtlu/.ssh/key.key -W %h:%p lab@api.dev.test.com' lab@$k8s_node_ip "uname -a; date;echo "Dummy123!" | sudo -S bash -c 'echo 127.0.1.1 \`hostname\` >> /etc/hosts'; cd /tmp; pwd; systemctl status cachefilesd | grep Active; ls -ltr /tmp/test.sh; echo "Dummy123!" | sudo -Sv && bash -s < test.sh"

Оба вышеуказанных вызова работают нормально.Я могу загрузить test.sh, а также запустить его, но меня беспокоит то, что во время процесса наблюдаются странные выходные данные.

output:

/tmp. <<< expected
[sudo] password for lab: Showing one                 
Sent message type=method_call sender=n/a              destination=org.freedesktop.DBus object=/org/freedesktop/DBus interface=org.freedesktop.DBus member=Hello cookie=1 reply_cookie=0 error=n/a

Root directory /run/log/journal added.
Considering /run/log/journal/df22e14b1f83428292fe17f518feaebb.
Directory /run/log/journal/df22e14b1f83428292fe17f518feaebb added.
File /run/log/journal/df22e14b1f83428292fe17f518feaebb/system.journal added.

Итак, я не понимаю/run/log/hournal и другие строки, которые не соответствуют моей команде в sh.

1 Ответ

1 голос
/ 07 мая 2019

Попробуйте добавить -q к командам scp и ssh, чтобы уменьшить вывод, который они могут произвести.Вы также можете перенаправить stderr и stdout в / dev / null соответствующим образом.

Например:

{
scp -q -i /home/dtlu/.ssh/key.key -o "ProxyCommand ssh -i /home/dtlu/.ssh/key.key lab@api.dev.test.com -W %h:%p"  /home/dtlu/backup/test.sh lab@$k8s_node_ip:/tmp/ 

ssh -q -o StrictHostKeyChecking=no -i /home/dtlu/.ssh/key.key -o 'ProxyCommand ssh -i /home/dtlu/.ssh/key.key -W %h:%p lab@api.dev.test.com' lab@$k8s_node_ip "uname -a; date;echo "Dummy123!" | sudo -S bash -c 'echo 127.0.1.1 \`hostname\` >> /etc/hosts'; cd /tmp; pwd; systemctl status cachefilesd | grep Active; ls -ltr /tmp/test.sh; echo "Dummy123!" | sudo -Sv && bash -s < test.sh"
} >&/dev/null
...