Я могу ssh на другой Linux с помощью ssh -q username@xxx.xx.xx.xxx
. Но я не могу войти в систему, назвав пароль.
например, [root@ip-xxx.xx.xx.xxx tmp]# ssh -q -P password username@xxx.xx.xx.xxx 'uname -a'
.
Поэтому попробовал удалить -q. Я получил следующий результат.
[root@ip-xxx.xx.xx.xxx tmp]# ssh -P password username@xxx.xx.xx.xxx
ssh: Could not resolve hostname password: Name or service not known.
Пароль правильный, есть ли что-то, что я упустил.
Вы можете проверить ssh-copy-id , что позволит вам аутентифицировать ssh-соединения, используя ключевой файл, хранящийся на вашем клиенте, вместо того, чтобы вводить пароль.
Пожалуйста, будьте осторожны при хранении учетных данных на вашем устройстве. Если возможно, рассмотрите возможность шифрования системного диска.
Попробуйте инструмент sshpass:
yum install sshpass -y
затем
sshpass -p 'YourPassword' ssh user@ip_address
-P
- устаревшая опция, указывающая ssh не использовать привилегированный порт для исходящего соединения.
Это не имеет ничего общего с указанием пароля в командной строке.
Как указывали другие, используйте аутентификацию с открытым ключом для SSH без пароля.
@Anna Во многих дистрибутивах Linux, на которых работает openssh-server, вы не можете войти в систему как root. Вход в систему как root представляет собой серьезную угрозу безопасности, и поэтому многие дистрибутивы отключают его по умолчанию.
Также, даже если возможно, вы не хотите использовать -P в качестве опции с SSH, чтобы вы могли ввести пароль перед установкой соединения . Это также серьезная угроза безопасности.
Используйте команду
ssh username@IPaddress
Если у вас нет какой-либо специальной конфигурации, которая вам нужна. Если у вас все еще есть проблемы, попробуйте
ssh -vvv username@IPaddress
Это даст вам много информации о соединении и подсказки, почему соединение не работает.
Что касается возникшей ошибки Не удалось разрешить пароль имени хоста: Имя или услуга неизвестна. Когда я читаю страницу руководства для SSH, у нее нет опции -P, поэтому SSH пытается разрешить
пароль
, что не может.
Используйте команду ssh username @ IPaddress
и не беспокойтесь о пароле. Если системе требуется пароль, она запросит его, если системе не нужен пароль, вы просто войдете в систему.
Почему вы набираете «-P» ?. Это, по крайней мере, нестандартно, если не совсем бесполезно.
Теперь об ошибке, здесь ясно сказано:
Не удалось разрешить пароль имени хоста: имя или служба не известны.
Каков ваш первый вывод из этого?.
Я предполагаю, что этого должно быть достаточно, чтобы понять это.
Если первая команда не запрашивала пароль, но она все еще входила в систему, это не нужно.
Некоторые причины могут быть:
Может быть, вы пытаетесь получить доступ к системе Debian из командной строки? Последние версии Debian этого не допускают. Попробуйте войти в систему как обычный пользователь, а когда войдете в систему, перейдите на root.