Мне нужно было клонировать репозиторий из Gitea, и я обычно делаю это на своем Mac, но у меня нет моего Mac со мной. Я смог клонировать репозиторий в Windows после помещения ключа RSA в папку .ssh, которая находится в C \ Users \ me, при использовании Git Bash для Windows, но я не смог сделать это с WSL. Затем я попытался скопировать файлы в C \ Users \ me.ssh и поместить их в папку .ssh файловой системы Linux. Не сработало. Я попытался удалить папку WSL .ssh и сделать ее символической ссылкой на папку C \ Users \ me.ssh, но все еще не работала. Как я могу это исправить?
Трудно сказать с так ограниченной информацией, но я предполагаю, что это - проблема полномочий. ssh ключи являются частными данными. В Ubuntu/Linux они должны иметь строгие полномочия , поэтому только пользователь мог считать их. Можно установить верные полномочия следующими командами:
sudo chown -R "$USER:$USER" ~/.ssh # make sure the files are owned by the user
find ~/.ssh -type d -exec chmod 700 {} \; # set drwx------ permissions for the dirs
find ~/.ssh -type f -exec chmod 600 {} \; # set -rw------- permissions for the files
~/
представляет пользователя $HOME
каталог, т.е. /home/<user>/
. Другой возможный смутьян является способом, которым Вы создали файлы. В Windows, конце строк и с символами ASCII перевода строки и с возврата каретки, но Unix использует только перевод строки. В таком случае можно обработать ssh файлы ключей dos2unix
, или можно использовать некоторые из других подходов, показанный здесь .
См. также: