У меня много удаленных машин, мне нужно войти в систему. Мне нужно как-то хранить параметры подключения, потому что слишком скучно вводить их вручную. Также я предпочитаю хранить пароль в этих ярлыках. Программное обеспечение, подобное MTPuTTY, работающее под Windows, решило бы мою проблему в Ubuntu.
Как решить эту проблему?
Можно сделать большое использование .ssh/config
файл. Это позволило бы Вам заменять это:
ssh fooey@dev.example.com -p 22000
с:
ssh dev
, чтобы сделать так необходимо добавить, следующие строки в конце .ssh/config
(создайте его, если не существует)
Host dev
HostName dev.example.com
Port 22000
User fooey
Относительно устройства хранения данных учетных данных, я настоятельно рекомендую Вам использовать ключевую аутентификацию вместо базирующегося пароля. Можно создать их или с GUI или с терминалом.
GUI
открывает Seahorse
, выбирает File > New
, затем Secure Shell Key
и позволяет интерфейсному руководству Вы
, Терминал Создает Вас пара ключей RSA:
ssh-keygen -t rsa
Хранилище Ключи и Пароль:
Enter file in which to save the key (/home/demo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Копия Источники Открытого ключа
ssh-copy-id fooey@dev.example.com
:
Если бы Вы хотели, то Вы могли бы сделать короткие сценарии оболочки, чтобы запустить Ваши ssh сессии, затем выполнить их любой как s исполняемый файл ( chmod o+x
), или использование точки .
команда
Как делают файл ~/ssh2hostA.sh
#!/bin/sh
sshpass -p 'yourpassword' ssh user@hostA
затем запустите его с
. ~/ssh2hostA.sh
Который не является хорошей вещью сделать, потому что не только делают у Вас есть пароли в открытом тексте, рассеянном в Ваших файлах, но люди, вероятно, смогут видеть пароль в w
команда. (и top
, и /proc
)
Действительно, необходимо использовать ключи хоста ssh для этого.
В самом деле.