У меня есть VPS, к которому я раньше обращался через Терминал. Когда я открываю Терминал, я получаю
Последний вход: Вт авг 29 04:02:48 на ttys002 Mac-mini:~ administator$
Все статьи, которые мне удалось найти в Google, говорят об использовании
Это возвращает сообщение об отказе в доступе, когда я ввожу пароль (я на 100% уверен, что пароль и имя пользователя верны). Я знаю, что причина в том, что Terminal не выходит за пределы Mac. В прошлом я нашел команду, которую нужно ввести, прежде чем вы сможете ввести "ssh[email protected]". Это как если бы мне пришлось ввести команду для выхода из локального хоста Mac, а затем ввести информацию о сервере SSH.
Мой вопрос: кто-нибудь знает, что это за команда? Я обыскал весь Google и не смог найти информацию, которую нашел раньше, а моя страница с закладками была удалена.
Спасибо!!
решение1
Если предположить, что VPS размещен на AWS, то недостающая команда, о которой вы говорите, будет путем к файлу access-file (.PEM). Например:
ssh -i path/to/AccessKey.pem [email protected]
Подробная информация здесь:https://99robots.com/how-to-ssh-to-ec2-instance-on-aws/
решение2
Если вы используете ssh из терминала Mac, вам нужно будет подключиться к удаленному серверу, на котором запущен sshd (демон ssh).
Чтобы это произошло, должны быть соблюдены некоторые условия:
- вы должны быть в сети (у вас есть IP-адрес и маршрутизатор, DNS полезен)
- удаленный сервер должен быть в сети
- Эти сети должны быть соединены между собой таким образом, чтобы был возможен трафик.
netstat -nr
покажет таблицу маршрутизации на OSX, Linux и Windows (при условии, что netstat разрешен)traceroute
иping
может помочь, но в Интернете они обычно блокируются. - если вы работаете в компании, то использование ssh может быть запрещено.
- удаленный сервер может не разрешить это
- любая сеть между ними может не допустить этого
Если все вышеперечисленное в порядке, то вы можете попробовать telnet server 22
предположить, что он работает на стандартном порту, и что Sierra — это последняя версия OSX. Это покажет наличие tcp-подключения.
Теперь ssh. Обе стороны должны договориться обо всех деталях.
- Вероятно, аутентификация по паролю отключена, или пароль может храниться на сервере каталогов.
- вам не следует подключаться как пользователь root
- следует использовать альтернативный механизм аутентификации, пара ключей очень распространена, но возможны токены, сертификаты, одноразовые пароли, kerberos. Мы не знаем, но ваш хостинг-партнер знает. Пары ключей используются по умолчанию. У AWS и GCE свои способы, у каждого есть страницы с инструкциями.
- Вам должен быть разрешен доступ к ssh и его файлам на вашем Mac, и эти файлы должны иметь ограничительные права доступа.
- вы должны иметь возможность добавить IP-адрес в ~/.ssh/known_hosts
- если ключи ssh на вашем Mac находятся в (скрытом) каталоге .ssh в вашем домашнем каталоге. Используйте
ssh-keygen
для создания пары и отправки файла pub администратору. - если вы локальный администратор, то вам следует добавить файл pub в файл authorized_keys для пользователя linux, в который нужно войти. Консольный сеанс необходим, если никто не может использовать ssh. Его местоположение файла указано в файле sshd_config, обычно $HOME/.ssh/authorized_keys.
Существуют и более загадочные случаи, такие как несовместимые шифры и несовпадающие версии, но если оба конца обновлены, вышеизложенное должно помочь вам найти проблему. Если нет, вам нужна помощь изнутри, то есть root на вашем сервере sshd может tail -f /var/log/secure
.