«Ошибка: неверный номер порта» при использовании замазки - PullRequest
1 голос
/ 11 сентября 2010

Я пытаюсь установить ssh-соединение через замазку через Java с удаленным сервером. Я смог это сделать от двойного нажатия на putty.exe и выполнения команды ssh.

Как мне это сделать из командной строки? Я получаю сообщение invalid port number. Но работает через putty.exe (GUI)

Я использую:

c:> putty.exe -ssh -l username -pw password -m someCommandtoExecute remote_host(_name or IP)

Ответы [ 3 ]

2 голосов
/ 15 сентября 2010

Сегодня вечером я провел тестирование на компьютере под управлением Windows, подключенном к BSD-серверу. Если я введу

putty.exe -l username -pw password server.domain.com

Я подключаюсь без проблем. Если я попытаюсь

putty.exe -l username -P password server.domain.com

Я получаю окно предупреждения с заголовком PuTTY Internal Error и сообщением Invalid Port Number. Фактически, это единственный раз, когда я могу получить это сообщение об ошибке.

Если вы используете надежный пароль (смешанный регистр, специальные символы и т. Д.), Пароль может быть источником проблемы. Может быть, попробуйте заключить пароль в двойные кавычки, как в

putty.exe -l username -pw "password" server.domain.com

Используете ли вы последнюю версию PuTTY? Я использую 0,60, которая является самой последней версией.

Наконец, и я знаю, что это звучит очень просто, вы вручную вводите это в командной строке во время тестирования или тестирование выполняется как часть более крупного сценария? Ради простоты, я хотел бы заставить его работать вручную, прежде чем пытаться интегрировать его в более широкий процесс. По той же причине я также остановился бы на попытке автоматического запуска удаленной команды (-m) при попытке выяснить эту проблему. Похоже, что вы уже, но это никогда не повредит, чтобы проверить ...

Если вы не можете сказать, я вроде как хватаюсь за соломинку здесь. Кажется, я не могу воспроизвести проблему, кроме случаев, когда в командной строке есть -P.

0 голосов
/ 14 июня 2016

У меня была эта проблема на Win10 с putty 0.60 и TortoiseSVN 1.9.4 (сборка 27285 - 64-битная, 2016/04/24 13:59:58)
в то время как TortoiseSVN | Show log из svn+ssh URL.

Как описано Эллиот Ли , удаление записи клиента ssh от Tortoise исправило это:
TortoiseSVN -> Settings категория Network, пусто SSH client. (У меня здесь было path/to/putty.exe)

0 голосов
/ 11 сентября 2010

У меня нет проблем с установлением соединения с помощью

C:\Program Files\PuTTY> putty -ssh -l <username> <hostname or host ip>

Единственное, что приходит на ум, это либо 1) проблема со сценарием, используемым в качестве аргумента -m, либо 2) неправильное использование заглавных букв. Может ли сообщение об ошибке генерироваться сценарием, а не командой? Не могли бы вы использовать

C:\Program Files\PuTTY> putty -ssh -L <username> <hostname or host ip>

Заглавная буква L предназначена для настройки переадресации портов, а строчная буква l - для указания имени входа (имя пользователя).

Пара заметок:

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

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

Если вы идете с ключами, тогда ваша командная строка становится

putty -ssh <username>@<host> -m <script on local machine>
...