туннель ssh и rdesktop в одной строке

Используйте ssh для получения доступа к системе, на которой Вы хотите отредактировать crontab. При необходимости используйте su измениться на соответствующую учетную запись

Затем что-то как

export EDITOR=vi
crontab -e 

посмотрите crontab (5) страница справочника для получения информации о самом файле и crontab (1) страница справочника для получения информации о crontab программе

0
задан 22 January 2013 в 02:22
1 ответ

( Заявление об ограничении ответственности : см. Комментарии для более эффективного решения.)

Это сложно по ряду причин:

  • ssh необходимо запустить на переднем плане, чтобы соединение оставалось открытым. Это затрудняет выполнение этого в пределах одного экземпляра оболочки, потому что вторая команда должна выполняться параллельно, когда она находится на переднем плане.
  • Вы не можете проверить статус возврата ssh команда, потому что к тому времени соединение будет закрыто. Это означает, что команда resktop будет срабатывать независимо от того, была ли аутентификация ssh успешной.
  • Чтобы команда rdesktop не была интерактивной, ей необходимо указать пароль в командной строке. Хранить пароль в сценарии - плохая идея.

Попробуйте что-то вроде этого:

#!/bin/bash

# Request password, no echo
read -s RDP_PW

# Insert password validation here (i.e. make sure we got input)

# Execute sleep+rdesktop in a background subshell, redirect STDOUT to /dev/null.
( sleep 5; rdesktop -u user -p$RDP_PW -f localhost:9999 ) >/dev/null &

# Run the ssh command. We have 5 seconds establish the tunnel.
ssh -l root -C -L 9999:windowsmachine:23389 myserver

При необходимости измените инструкцию сна. Вы можете удалить перенаправление / dev / null, пока не убедитесь, что это работает. Вы также можете перенаправить STDERR.

Лучший подход основан на терминальной программе, которую вы используете в X, или на том, знакомы ли вы с терминальным мультиплексором или нет. Если ваша терминальная программа предоставляет вам возможность вызвать команду на новой вкладке, добавьте префикс ssh к соответствующей команде для этого. Если вы идете по маршруту мультиплексора, используйте синтаксис для вызова ssh в новом окне мультиплексора. Работа с запросами паролей от ssh в обоих случаях зависит от вас.

Вы знакомы с оконечным мультиплексором. Если ваша терминальная программа предоставляет вам возможность вызвать команду на новой вкладке, добавьте префикс ssh к соответствующей команде для этого. Если вы идете по маршруту мультиплексора, используйте синтаксис для вызова ssh в новом окне мультиплексора. Работа с запросами паролей от ssh в обоих случаях зависит от вас.

Вы знакомы с оконечным мультиплексором. Если ваша терминальная программа предоставляет вам возможность вызвать команду на новой вкладке, добавьте префикс ssh к соответствующей команде для этого. Если вы идете по маршруту мультиплексора, используйте синтаксис для вызова ssh в новом окне мультиплексора. Работа с запросами паролей от ssh в обоих случаях зависит от вас.

0
ответ дан 5 December 2019 в 15:43

Теги

Похожие вопросы