СШ соединяться с одной командной строке [dубликат]

я хочу быть в состоянии войти в удаленный через SSH без ввода пароля все время.

как мне ее настроить? Это разные команды, необходимой для выполнения пароля сессии?
227
задан 4 June 2011 в 23:43

64 ответа

Введите следующие команды:

  1. ssh-keygen Нажмите клавишу ввода, пока не получите приглашение
  2. ssh-copy- id -i root @ ip_address (он будет запрашивать пароль хост-системы)
  3. ssh root @ ip_address

Теперь вы можете войти в систему без пароля.

30
ответ дан 15 August 2018 в 20:42

Это решение специально для пользователей, использующих Windows для ssh на своих удаленных машинах, включая облачные изображения на облаке AWS Cloud и GCE Cloud

Отказ от ответственности

Недавно использованная это решение для удаленного входа в систему новых развернутых изображений vm на GCE.


Используемые инструменты:

  1. puttygen puttygen download
  2. winscp winscp загрузить

Шаги для выполнения:

  1. Создание пары открытого / закрытого ключа с использованием puttygen.
  2. Загружать открытый ключ на ваш сервер в облаке или удаленном месте.

Как это сделать:

1. Создайте ключ / пару или используйте существующий закрытый ключ

Если у вас есть закрытый ключ:

Откройте puttygen , нажмите кнопку загрузки и выберите свой закрытый ключ ( * .pem ) file.


Если у вас нет личного ключа:

  • Открыть puttygen ,
  • Выберите нужный тип ключа SSH2 DSA (вы можете использовать RSA или DSA) в разделе «Параметры». Важно, чтобы вы оставили поле кодовой фразы пустым.
  • Нажмите кнопку генерации и следуйте инструкциям для создания пары ключей (общедоступный / закрытый).

(из источника 1, ссылка ниже)

2. Создайте новый файл authorized_keys (с записью )

Скопируйте данные открытого ключа из «Открытого ключа для вставки в файл OpenSSH authorized_keys» в Generator Generator PuTTY и вставьте данные ключа в файл authorized_keys .


Убедитесь, что в этом файле есть только одна строка текста.


3. Загрузить ключ на сервер Linux

  • Открыть WinSCP,
  • Выбрать протокол SFTP-файлов и войти в систему с вашими учетными данными ssh.
  • При успехе вы видите дом (! d37)

Загрузите файл authorized_keys в домашний каталог на удаленном компьютере.


4. Установите правильные разрешения

Создайте каталог .ssh (если не существует)


Скопируйте authorized_keys файл на .ssh . (это заменит любой существующий файл authorized_keys , обратите внимание на это).

Если файл существует, просто добавьте содержимое этого файла в существующий файл.


Выполнить команды для установки разрешений:

  sudo chmod 700 .ssh & amp; & amp; & amp;  chmod 600 .ssh / authorized_keys  

Теперь вы сможете ssh на удаленную машину без ввода учетных данных каждый раз.

Дальнейшее чтение:

9
ответ дан 15 August 2018 в 20:42

Я обычно использую sshpass для этого, устанавливаю его с помощью sudo apt-get install sshpass и использую его следующим образом:

  sshpass -  p 'password' ssh your_username @ your_server  
18
ответ дан 15 August 2018 в 20:42
  • 1
    Почему бы не использовать клавиши ssh? – enzotib 6 December 2011 в 23:39
  • 2
    Это не «почему бы и нет». ситуация, она по-прежнему отлично работает без добавления ключей, это просто другой метод, который я бы сказал. – Bruno Pereira 7 December 2011 в 00:05
  • 3
    Спасибо за информацию о sshpass, никогда не слышал об этом раньше. – Panther 7 December 2011 в 00:39
  • 4
    Клавиши SSH являются «правильными». ответьте на вопрос, но sshpass - очень полезный взлом в случаях, когда вы не можете изменить метод проверки подлинности на удаленном сервере! – Jacob Krall 14 March 2014 в 21:27
  • 5
    Это очень опасно, вы будете хранить в bash_history или какие-либо простые пароли для хостов, с которыми вы подключаетесь. – kappa 22 July 2015 в 15:48

Если вы создаете открытую / ключевую пару ключей и входите в систему с использованием нашего вновь созданного открытого ключа, вам не нужно вводить пароль. В зависимости от конфигурации вашего ключа и / или ssh-агента вам может понадобиться защитить ваш ключ парольной фразой.

Вот один из многих short howto s для вас. Для безопасности этого метода крайне важно, чтобы сгенерированный закрытый ключ оставался приватным! Вы никогда не должны делиться им с кем-либо или разрешать доступ к нему в любом качестве.

Эта команда генерирует достаточно сильный ключ в ~ / .ssh / :

  ssh-keygen -b 4096  

В ~ / .ssh / вы найдете свой открытый ключ как id_rsa.pub . Его содержимое должно быть добавлено к вашему файлу authorized_keys путем переноса через переносимый носитель (ручный накопитель) или путем короткого включения проверки подлинности на сервере, а затем с помощью ssh-copy-id ~ / .ssh / id_rsa.pub имя_пользователя @ server , а затем снова отключить его.

Если вы решили защитить свой ключ парольной фразой (на первом шаге), вы можете использовать ssh -agent или брандмауэр Ubuntu для обеспечения безопасности этого локального локального доступа, поэтому вам не нужно вводить его все время.

4
ответ дан 15 August 2018 в 20:42

Другие вопросы по тегам:

Похожие вопросы: