Я новичок в MacBook и использую El Capitan.
Я переношу использование моей машины с ПК на MacBook. Я давно пользуюсь PuTTY и SuperPuTTY на ПК.
Я хочу создать и сохранить учетные данные для входа на мои веб-серверы в MacBook Terminal, как я это делал в SuperPuTTY на ПК.
Можно ли сохранить учетные данные для входа на веб-сервер в Mac Terminal?
Вот моя общая цель:
Я хотел бы знать, есть ли в Mac Terminal простой способ сохранить следующие учетные данные для входа в командную строку, а затем использовать своего рода шорткод для подключения к моему веб-серверу через терминал:
ssh -p 2200 root@123.456.789.012
Password: ****************************************************************
Я управляю и подключаюсь к 5 различным веб-серверам, поэтому сортировка и организация учетных данных для входа в метод короткого / быстрого подключения позволили бы значительно сэкономить время. Тем более, что мои пароли - загадочные 64-символьные строки.
Ответы:
Вы можете скопировать свой открытый ключ на удаленные машины. Пока у них включена аутентификация с открытым ключом, а ваш открытый ключ присутствует на удаленном компьютере, вы можете
ssh
подключаться к машинам без необходимости ввода пароля.Сначала вам нужно сгенерировать пару открытых / закрытых ключей, например:
Следуйте инструкциям. Когда он спросит, хотите ли вы защитить ключ парольной фразой, скажите ДА! Это плохая практика - не защищать паролем свои ключи, и я покажу вам, как вводить пароль нужно только время от времени.
Если у вас уже есть пара ключей, вы можете пропустить шаг выше.
Теперь, предполагая, что ваш ключ ssh существует на вашем Mac as
~/.ssh/id_rsa.pub
, вы можете установить его на удаленном компьютере, запустив:Для приведенного выше примера конкретного сервера команда будет выглядеть так:
Вам нужно будет ввести пароль для
root@123.456.789.012
выполнения этой копии, но это должно быть в последний раз, когда вам нужно сделать это. Предполагая, что удаленный серверsshd
настроен на выполнение аутентификации с использованием открытого и закрытого ключей, когда вы заходите в ssh сейчас, он не должен запрашивать пароль дляroot
учетной записи - вместо этого он запрашивает пароль для вашего ключа . Читайте дальше о том, как сделать это то, что вам не нужно вводить все время.Повторите вышеуказанное для каждой машины, к которой вы хотите подключиться с помощью ключей, а не пароля.
Обратите внимание, что любой, кто получит ваш
~/.ssh/id_rsa
файл, может подключиться к этой машине по ssh,root
не вводя пароль для удаленной машины. Пароль, защищающий файл ключа, гарантирует, что им потребуется знать пароль для этого ключа, чтобы использовать его. Убедитесь, что файл в безопасности. Используйте шифрование диска на вашем Mac и сохраняйте права доступа к файлу и~/.ssh/
каталогу.Чтобы упростить использование ключа без необходимости каждый раз вводить пароль, OS X запускает
ssh-agent
процесс в фоновом режиме на вашем компьютере. Этот агент будет кэшировать пару ключей при первом использовании, поэтому вам нужно будет вводить пароль только время от времени. Если вы только спите на своем Mac, никогда не перезагружаете его, вы можете работать в течение длительного периода времени без необходимости ввода пароля.Вы можете предварительно кэшировать все ваши ключи SSH с
ssh-agent
помощью команды:Теперь вам нужно только запомнить пароль ключа , а не множество разных паролей учетной записи. Я обычно храню свои пароли ключей в 1Password (без присоединения), еще больше упрощая количество паролей, которые мне нужно запомнить. Затем я просто смотрю их в 1Password и вырезаю и вставляю их в Терминал в тот странный момент, когда я перезагружаю свой Mac и вызываю
ssh-agent
перезапуск.Если вы объедините в этом вопросе копирование своего ключа на удаленные машины с решением для управления соединениями Terminal.app , у вас будет что-то очень близкое к PuTTY для взаимодействия с GUI.
На стороне сервера проверьте
/etc/ssh/sshd_config
и убедитесь, что:включен в конфигурации (по умолчанию в OpenSSH). Вы также можете установить:
Пока вы там, аутентификация на основе пароля отключена, и ключи становятся единственным способом доступа к машине.
Вам нужно будет перезапустить sshd на компьютере, если вы внесете какие-либо изменения в файл конфигурации.
источник
PasswordAuthentication yes
на стороне сервера, и PuTTY продолжит функционировать, как всегда на вашем компьютере с Windows. Это не тот или другой сценарий - вы можете разрешить оба типа аутентификации на сервере. PuTTY также поддерживает авторизацию с открытым / закрытым ключом, как это FWIW. Вы можете скопировать свои~/.ssh/id_rsa*
файлы на свой компьютер с Windows и импортировать их в PuTTY для аутентификации на сервере. PuTTY изнутри использует те же библиотеки OpenSSH для подключения, что иssh
в OS X.ssh-add
все еще работает даже в Сьерре (OS X 10.12). СпасибоВы можете использовать sshpass для сохранения пароля, и вам не придется вставлять его каждый раз, что не является хорошей практикой (проблемы безопасности).
Следуйте инструкциям по установке Mac OS X на: https://gist.github.com/arunoda/7790979
Когда у вас установлен sshpass, запустите
sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no root@123.456.789.012:2200
сделайте то же самое для своих 5 веб-серверов, и вам не нужно будет каждый раз вводить пароль.
источник
ssh -p 2200 root@123.456.789.012
иPassword: **********************
?ssh-copy-id
не является частью стандартного дистрибутива OS XВ дополнение к общему / закрытому ключу, файл .ssh / config может быть сконфигурирован для упрощения использования команд ssh, таких как псевдонимы, пользователь по умолчанию / порт на сервер, опции ssh, команды прокси ...
В этом файле тоже может быть что-нибудь сложное, что вы можете добавить в команду ssh.
источник
Я перенес Putty на Mac как собственный пакет приложений, поэтому нет необходимости в macports или терминалах, если вы не технический пользователь.
Больше информации со скриншотами здесь: http://www.wine-reviews.net/2016/08/putty-for-mac-os-x-now-available.html
Ура,
источник