Как настроить Cygwin для входа на основе ключа

0

Я успешно установил Cygwin на свой сервер 2012 года.

Теперь я хочу включить основанный на ключах вход в систему.

Я много искал для этого (я не гуру Linux) и все, что я нашел, вращается вокруг добавления ключа в файл /.ssh/authorized_keys.

Проблема в том, что я не могу найти папку .ssh, чтобы создать файл и добавить ключ к нему.

В некоторых сообщениях предлагается проверить, определена ли переменная home, или нет, выполнив

echo $HOME

команду и посмотрим, выведет ли он что-нибудь или нет.

Outpu было

$ echo $HOME
/home/admin

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

Я нашел этот вопрос, но я не мог получить точные шаги от него.

Спасибо

Махмуд Абд Эль-Фаттах
источник

Ответы:

0

Самый простой способ - запустить программу ssh-copy-id user@host, которая скопирует ваши открытые ключи в правильное местоположение host.

Копирование этого вручную вызывает часто проблемы с правами доступа.

Jakuje
источник
Должна ли эта команда выполняться на локальной машине или на сервере?
Махмуд Абд эль-Фаттах,
На локальной машине, где у вас есть ключи
Jakuje
0

Для тех, у кого не установлен «ssh-copy-id», или тех, кто временно не может установить его по какой-либо причине, следующая однострочная строка Bash всегда является допустимой заменой:

$ PUB="$(cat ~/.ssh/id_rsa.pub)"; ssh user@host "mkdir -p ~/.ssh; echo $PUB >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys"

Тильда-слэш (~ /) на удаленном хосте, вероятно, не нужна, но я включаю ее на всякий случай, чтобы избежать каких-либо странных и / или непредвиденных сценариев.

rubynorails
источник
Спасибо @rubynorails и извините за опоздание, я отсутствовал некоторое время. Должен ли я выполнить эту команду на терминале Cygwin на клиенте или на моем сервере Windows?
Махмуд Абд эль-Фаттах
Все это зависит от того факта, что вы sshустановили на обеих машинах sshdпрослушивание на удаленном хосте через стандартный порт 22 (если иное не настроено на вашем локальном компьютере ssh_config. Если вы пытаетесь настроить аутентификацию с локального на удаленное устройство, вы будете выполните эту команду на локальном хосте и замените user@hostна [ваше удаленное имя пользователя] @ [удаленный хост / ip]. Надеюсь, это поможет.
rubynorails