Нужно ли создавать другой ключ SSH для этого пользователя? Я хотел бы сделать это на сервере DO? Я даже не могу войти как новый пользователь, потому что он говорит, что доступ запрещен (открытый ключ), когда я пытаюсь войти. Однако я могу войти в систему как пользователь root, когда использую этот ключ.
Конечно, вы можете использовать один и тот же ключ для всего. Однако было бы лучше использовать разные ключи для разных пользователей. Поэтому я бы порекомендовал создать ключ для не-пользователя root
. (И, возможно, не вводите ssh-agent
ключевую фразу, иначе вам придется понять (см. Ниже).) Вы должны сгенерировать ключ на сервере DO, а затем добавить открытый ключ ... см. Следующий шаг.
Как я могу гарантировать, что дроплет разрешит доступ с этого другого сервера? Я прочитал, что вы можете скопировать открытый ключ, созданный на сервере DO, в .ssh dir общего сервера, а затем добавить его к авторизованному ключу. Это верно?
Вам не нужно копировать его в ~/.ssh
каталог. Вы просто должны добавить его authorized_keys
в ~/.ssh
каталог.
Даже если ключ будет скопирован, у него все равно будет пароль, который мне нужно будет ввести, не так ли? Куда это сохраняется? Переменная окружения?
Только если вы ввели парольную фразу, когда генерировали свой ключ. Вы можете хранить парольные фразы, используя ssh-agent
. Запуск ssh-agent
запустит фоновый процесс, который позаботится о заполнении ключевой фразы, когда вы ssh
(или scp
т. Д.) Перейдете на другой сервер, но только для ключей, которые вы ssh-add
редактировали. Это также выведет несколько строк, как это:
$ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-mjHm7nFyhJSh/agent.21838; export SSH_AUTH_SOCK; SSH_AGENT_PID=21839; export SSH_AGENT_PID; echo Agent pid 21839;
Это команды оболочки. Если вы вставите их в свою оболочку, вы сможете использовать их ssh-agent
в этой оболочке. Вы также можете сделать это eval $(ssh-agent)
для автоматической оценки ssh-agent
вывода оболочки. Затем вы делаете ssh-add
(для .ssh/id_rsa
ключа по умолчанию или ssh-add path/to/key
и вводите ключевую фразу один раз. В этом терминале вы теперь сможете подключаться к ssh
другим серверам без ввода ключевой фразы, даже если вы сгенерировали свой ключ с помощью ключевой фразы.