Я могу SSH с моего компьютера, используя замазку, 1 строка, как так ssh root@myname.mydomain.us -pw abc123
но когда я пытаюсь сделать это с терминала OSX, я получаю сообщение об ошибке « Bad port 'w'
Как можно заставить это работать на OSX?
ssh не поддерживает передачу пароля в командной строке, он интерпретирует -pw
как "Подключиться к порту w".
Для автоматического входа в систему через ssh используйте .ssh/authorized_keys
:
ssh_keygen
. Если вы примете имена файлов по умолчанию, ваш ssh-клиент автоматически попробует этот ключ при подключении..ssh/authorized_keys
на целевом хосте (например, myname.mydomain.us:~root/.ssh/authorized_keys
).Если ваше сердце настроено на пароли через командную строку, expect
набор инструментов может использоваться для взаимодействия с STDIN/STDOUT при выполнении команд.
То, что вы пытаетесь сделать, невозможно с помощью встроенного SSH-клиента в OS X. OpenSSH-клиент не может принять пароль из командной строки.
Причина, по которой вы получаете ошибку "Bad port", заключается в том, что флаг -p
используется для указания порта, к которому нужно подключиться, а флаг -pw
не существует. Смотрите man-страницу для более подробной информации.
Кроме того, почти всегда плохая идея указывать пароль из командной строки. Вы изучали использование аутентификации с открытым ключом?