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

Solaris 9-команда подсчета слов (wc) дает неправильный вывод
/dev / dsp отсутствует в debian и не слышит фестивальных звуков
BASH: асинхронное выполнение команд с задержкой
Как запустить команду в новом gnome-терминале?
Cygwin bash sed блокирует мои файлы
Putty: войдите в систему, выполните команду / измените переменную среды и не закрывайте сеанс
Перехват ошибки команды bash в переменной
linux команда, чтобы узнать, если папка существует или нет в ftp-сервере windows
Что не так с моим сценарием bash, чтобы сохранить последние x-файлы и удалить остальные?
Как остановить tail-f, кроме использования kill
невозможно выполнить: слишком много уровней символьных ссылок
Почему я не могу создать символическую ссылку на каталог на том же уровне, что и каталог?
Как ограничить разрешения cygwin в Windows 7
Проблема с установкой Fish shell в группе пользователей OS X без прав администратора
Скрипт Crontab не сохраняет результат в файл

Запустить сеанс PuTTy на удаленном хосте по сети

У меня 5 хостов-A, B, C, D и E. A и B-хосты windows. С, D и Е являются машины с ОС Linux и сервер SSH на порт 22.

Я скопировал плинка.exe (шпатлевка командной строки серверной клиент) в Хосте B. Когда я запускаю команду - plink user@host-PW пароль "команда для выполнения" в командной строке в, он подключается, выполняет команду и возвращает вывод на экран.

Я хотел бы начать сеанс ssh на C, выполнив plink.exe на B с удаленного хоста A и держите его активным до тех пор, пока A не закроет соединение. Такое возможно? Или я тупой, что этого нельзя сделать...

то, что я пытаюсь сделать здесь, это контролировать, как устанавливаются соединения с хостами Linus ssh. Вместо того, чтобы иметь несколько сеансов plink на разных машинах, я хотел бы иметь одну копию plink на хосте B. используя пользовательский разработанный клиент, я направлю команды в B, где начинается сеанс plink, выполняет команды, пока клиент подключен к компьютеру. удаленный хост и закрывает сеанс после закрытия клиента.

это возможно? Жду указаний. Благодаря.

5
задан vsathyan
источник

1 ответов

Я бы использовал Sysinternals PSExec для подключения от А до Б, запуск удаленной командной строки. Затем из командной строки выполните команды Plink для подключения, а затем отключитесь от службы ssh C.

вы можете подключиться от A до B (предполагая, что вы находитесь на useraccount с именем smae и паролем) с:

psexec \B cmd

окно переключится на командную строку B, которую вы можете подтвердить с помощью hostname. Затем запустите plink команды.

единственным недостатком является то, что вам нужно держать удаленную командную строку открытой, если вы не хотите запускать команду для запуска plink в фоновом режиме, как описано здесь. Если вы работаете в фоновом режиме, вам придется повторно соединиться с psexec до B и выполнить команду plink disconnect.

изменить: @JulianKnight предложил использовать Powershell вместо PSExec, что выглядит многообещающе, если вас интересуют только собственные инструменты. это примите некоторые установку и конфигурацию однако, то ненужно с psexec. См. ссылку в комментариях ниже.

0
отвечен Frank Thomas 2017-05-23 12:41:37
источник

Другие вопросы bash command-line linux putty ssh