Назад | Перейти на главную страницу

Предоставление права владения закрытым ключом пользователю без / home

поэтому я хочу настроить закрытые / открытые ключи ssh между двумя серверами для использования с sftp (и, в конечном итоге, lftp с использованием sftp, но по одному шагу за раз).

Я создал закрытый и открытый ключи и обнаружил, что для их использования закрытый ключ должен принадлежать и быть доступным для чтения только подключающемуся пользователю.

Проблема в том, что пользователь, которого я подключаю, не имеет каталога / home / ни на одном сервере (и существует только на удаленном сервере), поэтому, когда я пытаюсь chown, Я получил chown: invalid user: {userName} - потому что его не существует локально.

Может ли кто-нибудь предложить способ обойти это?

--Редактировать--

я использовал getent passwd на обоих серверах и обнаружил, что пользователь существует только на сервере, на котором я sftping к. Поэтому, когда я подключаюсь как этот пользователь (sftp weirdUser@remoteHost), как я могу это сделать с помощью закрытых / открытых ключей?

вам необходимо создать закрытый / открытый ключ SSH пользователя - это просто еще один метод аутентификации вместо аутентификации по паролю.

Итак, вам нужно создать пользователя, которому разрешено использовать пару открытых закрытых ключей. http://www.tecmint.com/add-users-in-linux/

Создайте пользователя, после чего вы сможете ПИСАТЬ с этим пользователем.

Ты нуждаешься в ~/.ssh/config файл на вашем локальном сервере, который свяжет ваш ключ с пользователем на удаленном сервере, например:

Host yourremoteserver
    User weirduser
    IdentityFile /home/mylocaluser/.ssh/id_rsa

Если вы хотите создать уникальный ключ только для weirduser @ yourremoteserver, используйте -f опция на ssh-keygen:

ssh-keygen -t rsa -b 1024 -f weirduser

и замените строку IdentifyFile в ~/.ssh/config файл с:

IdentityFile /home/mylocaluser/.ssh/weirduser

Какой бы ключ вы ни решили использовать (id_rsa по умолчанию или weirduser), вам понадобится содержимое соответствующего файла .pub, вставленного в файл weirduser. authorized_keys на удаленном сервере. После настройки файла конфигурации попробуйте (он запросит удаленный пароль, а затем скопируйте файл .pub в правильный authorized_keys):

ssh-copy-id weirduser@yourremoteserver

(Или вы можете сделать это вручную)