Вы должны использовать ключи SSH для аутентификации, а не вводить пароль в командной строке, так как это крайне небезопасно.
Это работает так, как только вы настроили ваши SSH-ключи, все, что вам нужно сделать, это выполнить команду:
ssh user@host
и без ввода другой вещи, вы будете автоматически авторизованы.
Скопируйте открытый ключ SSH в Mac / FreeBSD / Linux из macOS
Это предполагает, что у вас есть доступ к удаленному серверу с помощью аутентификации на основе пароля (ввод пароля), и что вы уже сгенерировали свою частную / открытую пару ключей (если нет, см. Ниже). В следующем примере мы используем RSA. Для начала давайте скопируем ключ (учтите, что «домашний» каталог отличается в macOS, Linux, BSD и т. Д.):
Используя SCP:
scp ~/.ssh/id_rsa.pub username@hostname:/Users/username/.ssh/
Или просто присваивать файл authorized_keys
(я предпочитаю этот метод):
cat id_rsa.pub | ssh username@hostname ' cat >>.ssh/authorized_keys'
(Ваше имя ключа может отличаться). Если каталог .ssh не существует на удаленном сервере, вам нужно будет войти и создать его.
Теперь ключ был скопирован с Mac на удаленный сервер. Установите правильные разрешения для открытого ключа SSH на удаленном сервере:
chmod 600 ~/.ssh/id_rsa.pub
Затем добавьте ключ в файл авторизованного ключа SSH, если файл не существует, создайте его.
Если файл authorized_keys
уже существует, ~/.ssh
используйте следующую команду:
cat id_rsa.pub >> authorized_keys
Если файл не существует, введите следующие команды:
cat id_rsa.pub > authorized_keys
chmod 600 authorized_keys
chown user:group authorized_keys
Создать SSH открытый / закрытый ключ на macOS
Откройте Терминал, перейдя в Приложения -> Утилиты -> Терминал
В терминале используйте следующую команду для запуска генерации ключа
ssh-keygen -t rsa
Далее вам будет предложено указать место, где вы хотите создать файл закрытого ключа:
Введите файл для сохранения ключа ( /Users/username/.ssh/id_rsa
):
Оставьте это поле пустым, чтобы создать ключ в расположении по умолчанию /Users/username/.ssh/id_rsa
. Файл открытого ключа будет создан в том же месте и с тем же именем, но с расширением .PUB.
После этого вам будет предложено выбрать пароль. Это необязательный пароль для использования закрытого ключа.
Enter passphrase (empty for no passphrase):
Ваш ключ SSH сгенерирован.
Имейте в виду, что если вы введете парольную фразу, вам потребуется вводить ее каждый раз при подключении. Утилита ssh-agent
сохранит парольную фразу в памяти, избавляя от необходимости вводить ее вручную каждый раз, когда вы подключаетесь, когда находитесь в том же сеансе. Для более подробной информации смотритеman ssh-agent