Я установил OpenSSH 7.6 в Windows 7 для целей тестирования. Клиент и сервер SSH работают нормально, пока я не попытался получить доступ к одной из своих коробок AWS EC2 из этого окна.
Кажется, мне нужно изменить разрешение на файл закрытого ключа. Это можно легко сделать в Unix / Linux с помощью chmod
команды.
А как насчет окон?
private-key.ppm скопирован непосредственно из AWS, и я думаю, что разрешение тоже.
C:\>ssh -V
OpenSSH_7.6p1, LibreSSL 2.5.3
C:\>ver
Microsoft Windows [Version 6.1.7601]
C:\>
C:\>ssh ubuntu@192.168.0.1 -i private-key.ppk
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private-key.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "private-key.ppk": bad permissions
ubuntu@192.168.0.1: Permission denied (publickey).
C:\>
C:\>
C:\>ssh ubuntu@192.168.0.1 -i private-key.ppm
Warning: Identity file private-key.ppm not accessible: No such file or directory.
ubuntu@192.168.0.1: Permission denied (publickey).
C:\>
windows-7
ssh
permissions
Sabrina
источник
источник
Ответы:
Вы находите файл в проводнике Windows, щелкните его правой кнопкой мыши и выберите «Свойства». Перейдите на вкладку «Безопасность» и нажмите «Дополнительно».
Смените владельца на вас, отключите наследование и удалите все разрешения. Затем предоставьте себе «Полный контроль» и сохраните разрешения. Теперь SSH больше не будет жаловаться на разрешение файла, слишком открытое.
Это должно выглядеть так:
источник
10.0.17134.191
коробке Windows 10 ( ) с Cygwin verCYGWIN_NT-10.0-WOW 2.3.1(0.291/5/3) 2015-11-14 12:42
и ssh verOpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4
, и 2) Спасибо! @iBug!Ключи должны быть доступны только тому пользователю, для которого они предназначены, и никаким другим аккаунтам, сервисам или группам.
CLI:
источник
network service
поэтому Cygwin думает, что разрешение 0770 вместо 0700.network service
может владеть файлом и это группаВ дополнение к ответу, предоставленному ibug. Так как я использовал систему Ubuntu внутри Windows, чтобы запустить команду SSH. Это все еще не работало. Так я и сделал
и тогда это сработало
источник
sudo
Не следует использовать для открытия сеанса SSH, так как это угроза безопасности. Единственный раз (по крайней мере, мне известно) учетная запись root должна использоваться для открытия сеанса SSH в однопользовательских системах (т. Е. Обычно находится в ОС маршрутизатора [OpenWrt, DD-WRT и т. Д.] И других встроенных системах. ) . Ключи SSH должны быть доступны только пользователю, для которого они предназначены, и никаким другим аккаунтам, службам или группам.У меня была такая же проблема, и, похоже, она связана с версией SSH, которую вы используете.
Если я наберу
Я получил...
Когда я бегу
ssh -V
в обоих местах, я получаю...соответственно
Итак, когда я запускаю
ssh
из каталога git / bin, он работает нормально и не жалуется на разрешения, но, запустив ту же командную строку, используя прежнюю установку SSH, он возвращается с этим.пс. права доступа к файлу - это полный доступ для себя и больше ничего.
источник
DISM
или с помощью параметра сброса (который был улучшен для использования каталога WinSxS). против возврата к оригиналуinstall.esd
) .Вам нужны только 2 вещи:
1) Отключить наследование
2) Преобразовать унаследованные разрешения в явные разрешения
3) Удалить группу пользователей
4) В итоге пользователи не смогут получить доступ к личным файлам, этого должно быть достаточно для добавления id_rsa.
источник
У меня была похожая проблема, но я был на работе, и у меня нет возможности изменять права доступа к файлам на моем рабочем компьютере. Что вам нужно сделать, это установить WSL и скопировать ключ в скрытый каталог ssh в WSL:
cp <path to your key> ~/.ssh/<name of your key>
Теперь вы сможете нормально изменять разрешения.
sudo chmod 600 ~/.ssh/<your key's name>
Затем SSH с использованием WSL:
ssh -i ~/.ssh/<name of your key> <username>@<ip address>
источник
используйте команду ниже на вашем ключе, она работает на Windows
источник
Вы можете использовать icacls в окнах вместо chmod для настройки прав доступа к файлам. Чтобы дать текущему пользователю разрешение на чтение и удалить все остальное,
источник
Это всего лишь скриптовая версия ответа CLI @ JW0914, так что в первую очередь оповестите его. Кроме того, это мой первый скрипт PowerShell, поэтому предложения приветствуются.
источник
Одна строка в CMD может помочь (как описано здесь: https://serverfault.com/a/883338/550334 ), то есть добавление ключа из stdin вместо изменения разрешений:
Чтобы проверить, был ли добавлен ключ:
источник
Использование
Mingw-w64
.Информация: http://mingw-w64.org/doku.php
Скачать с Git для Windows или напрямую.
Доступна здесь: https://github.com/mirror/mingw-w64
Он также имеет другие полезные команды Linux, такие как
tar
иgzip
.источник
Я пользователь Windows, использую bash для Windows и выполнил все шаги, чтобы установить разрешение с помощью графического интерфейса Windows, но он все еще не работает и жалуется:
Я добавил
sudo
в начале команды ssh, и это просто работает. Надеюсь, что это полезно для других.источник
Ответ от iBug работает отлично! Вы можете следить за этим и избавиться от этой проблемы.
Но есть несколько вещей, которые необходимо очистить, так как я столкнулся с проблемами при настройке разрешений, и мне понадобилось несколько минут, чтобы выяснить проблему!
После ответа iBug вы удалите все разрешения, но как вы установите для себя разрешение «Полный доступ»? вот где я сначала застрял, так как не знал, как это сделать.
После отключения наследования вы сможете удалить всех разрешенных пользователей или групп.
Как только закончите с этим,
Нажмите на
Add
затем нажмитеSet a Principal
затем введитеSystem
и иAdministrators
иyour email addredd
в поле внизу, затем нажмитеcheck names
.Он загрузит имя, если пользователь существует. Затем нажмите
OK
> ТипAllow
> Основные разрешенияFull Control
>Okay
Это установит разрешение «Полный доступ» для СИСТЕМЫ, Администраторов и Вашего Пользователя.
После этого попробуйте ssh, используя этот ключ. Это должно быть решено сейчас.
У меня была та же проблема, и я решил, что с помощью этого метода. Если есть какой-либо пользователь или группа с таким именем, он будет загружен.
-Screenshots-
Записи разрешений Выберите принципала / выберите пользователя или группы
источник