Как мне вставить ssh в коробку от имени другого пользователя, если у хост-пользователя нет ключа ssh на удаленной машине?

13

Допустим, мое имя пользователя моего компьютера Mac - Джон.

У меня есть полностью настроенная учетная запись slicehost. Обратите внимание, что на этом срезе нет ключа ssh для Джона.

Теперь я настраиваю это поле для доступа по ssh для развертывания пользователем.

На моем компьютере Mac у меня есть закрытый ключ для развертывания пользователя. Slicehost имеет открытый ключ для развертывания пользователем.

И снова slicehost не имеет ничего для пользователя john.

Если я хочу использовать ssh в поле sliceghost при развертывании пользователя, нужно ли мне также поместить открытый ключ для Джона?

user35340
источник
Для полноты картины я бы добавил эту ссылку, чтобы я мог обратиться к ней позже. gist.github.com/df7d13a0556cd4a1bc13
user35340

Ответы:

22

Вроде.

Вам нужно поместить свой открытый ключ для учетной записи, с которой вы приходите на удаленном сервере. Если это ваш ключ Джона, поместите этот ключ на сервер, к которому вы подключаетесь, используя соответствующую учетную запись для этого сервера.

В вашем случае вы подключаетесь как развертывание. Итак, когда вы подключитесь, вы наберете:

ssh deploy@slicehost

Если ваш ключ для Джона находится в файле .ssh / authorized_keys развернутой учетной записи , то вы получите прямой доступ.

Джим
источник
1
Разве это не победит всю цель входа в систему как кто-то еще. Так что в этом случае кажется, что мне нужно поместить открытый ключ для Джона и развернуть его в файле авторизованные_коды.
user35340
3
Нет. Мы делаем это все время для резервных копий sftp. Мы генерируем пару открытого закрытого ключа, для которой необходимо создать резервную копию системы. Мы помещаем открытый ключ для этой учетной записи / машины на наш сервер резервного копирования под пользователем, например, пользователем-резервным пользователем. Затем, чтобы выполнить резервное копирование с клиентской машины, мы запускаем sftp для backup-user @ backup_machine. Пользователь на клиентском компьютере не имеет значения. Имеет значение только то, что открытый ключ для этого компьютера находится в файле author_keys на сервере резервного копирования в каталоге .ssh учетной записи резервного копирования. Работает как шарм.
Джим
1

Нет. Имя пользователя не имеет ничего общего с парой открытый / закрытый ключ. Это нигде не записано ни в одном ключе. Пока вы размещаете открытый ключ в файле пользователя, .ssh/authorized_keysвы можете войти в систему как этот пользователь, используя закрытый ключ.

Камил Кисиэль
источник
Просто пытаюсь убедиться, что я правильно понимаю. Пока у Джона есть закрытый ключ для развертывания, а открытый ключ для развертывания находится в файле author_keys, Джон должен иметь возможность войти в систему как развертывание.
user35340
Кажется, это не работает для меня - я скопировал данные .ssh.authorized_keysс одного аккаунта на другой, но все еще не могу войти
Эдгар Х
1

Вам нужно будет указать, что вы хотите войти в систему как пользователь "deploy", а также указать файл идентификации для развертывания.

ssh -i ~/.ssh/id_deploy.rsa deploy@slicehost

Где id_deploy.rsa - это файл закрытого ключа, соответствующий авторизованному ключу, который вы загрузили в учетную запись slicehost.

Дэвид Смит
источник