У меня есть putty, настроенный для подключения к ServerA . Однажды мне нужно подключиться к ServerB а затем выполнить другие команды на нем.

В моем текстовом поле удаленных команд в замазке, у меня есть следующее:

ssh testuser@192.168.1.114; sudo -u dev -H sh -c "touch ~/test.txt"

Первая команда работает, но независимо от того, что я поставил после точки с запятой, больше ничего не выполняется. Что-то в SSH это сбрасывает ...Я могу запустить столько команд, сколько захочу, если я пропущу часть SSH.

Я не могу использовать промежуточную настройку прокси в программе, так как конфигурация сервера блокирует ее.

1 ответ1

1

Точка с запятой не делает то, что кажется попыткой.

Точка с запятой разделяет команды. Итак, на сервере А первое, что происходит, это запуск

ssh testuser@192.168.1.114

Затем, после завершения работы ssh (возможно, из-за невозможности полностью войти в систему), оставшаяся команда будет выполняться на сервере A.

sudo -u dev -H sh -c "touch ~/test.txt"

В вашем конкретном примере проверьте serverA для ~ dev/test.txt

Чтобы выполнить то, что вы хотите сделать, просто удалите точку с запятой. Разве не было бы хорошо, если бы все проблемы были решены так легко?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .