Я пытался развернуть свое приложение на серверах Fortrabbit с помощью командной строки. Я использую окна. Вот что я пробовал:
Я посмотрел это видео Laracast и сделал то же, что и Джеффри, но это не работает . ..
Кто-нибудь может помочь?
Daniel Chikaka 11 Июн 2014 в 12:31
Вы можете задать вопрос на Laracast Forum с упоминанием этого видеоурока. возможно, Jeff тоже поможет.
11 Июн 2014 в 13:04
Вы можете установить ssh с chocolatey, просто выполнив choco search ssh , а затем установите тот, который вы предпочитаете. Я не уверен, что это выходит за рамки темы, но для Windows менеджер пакетов, такой как choco , может очень помочь вам с инструментами разработки (например, ssh).
18 Авг 2016 в 17:46
На самом деле используйте замазку на окнах. Это собственный ssh-агент Windows.
4 Май 2017 в 17:43
Проверьте путь среды (установлен git-base или нет)
sivaprakash
25 Июн 2017 в 11:08
5 ответов
На самом деле у вас здесь 2 проблемы: во-первых, у вас не установлен ssh, во-вторых, вы не знаете, как развернуть
SSH-Copy-ID
Установить SSH
Похоже, что ssh не установлен на вашем компьютере.
Сгенерируйте свой ключ
Затем вам нужно будет сгенерировать свой ssh-ключ. Здесь есть хороший учебник по этому поводу:
Развертывание
Чтобы развернуть, вам просто нужно отправить свой код через git. Что-то вроде этого:
git push fort master
Если вам отказано в доступе, убедитесь, что вы поместили свой public_key в панель управления на вкладке git.
Источник: question-it.com
Почему не могу закинуть открытый ключ SSH из Линукса в Windows?
Всем доброго дня, такая ситуация — хочу из линукса, Убунта 20.04, подключится в Windows 10 20H2 удаленно по SSH
всё настроил, и на Убунте и на винде служба sshd работает порт слушает, сгенерил и на винде и на убунте ключи,
пробовал для начала подключится без авторизации по ключам — только по паролю, всё ОК, из убунты к винде подключился выполнил
ввёл пароль и всё, я в винде, но нужна авторизация по ключам,
В /etc/ssh/sshd_config строчку PubkeyAuthentication yes выставил
Также и в винде в файле c:windowssystem32opensshsshd_config
sshd и там и там перезапустил
получаю вот такой вывод:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed — if you are prompted now it is to install the new keys «exec» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Отказано в доступе. Системе не удается найти указанный путь.
Что делать?
читал https://qna.habr.com/q/1010371 но советы оттуда явно не имеют отношения к моей проблеме
- Вопрос задан более года назад
- 813 просмотров
9 комментариев
Настраиваем аутентификацию SSH по ключу в Linux / Unix
Простой 9 комментариев
про венду вообще ничего не знаю, но логировать клиента нет смысла, просто сделать -vvv
но опять же, в клиентских логах инфы практически никакой, надо на сёрвере смотреть, почему не пускает
я бы забыл про ssh-copy-id, нагуглил где ключ должен в винде лежать и с какими правами, и тупо записал руками
FanatPHP, также в папке юзера в .ssh, с правами только юзера, т.е. c:usersuser.ssh
Вручную тоже закидывал и туда делал еще и в папке .ssh делал папку authorized_keys и туда закидывал, бесполезно,
А в инете больше статей о том как из винды в линукс заходить по ссх, но не наоборот
что значит папку authorized_keys?!
FanatPHP, вроде же ясно написал
закинул октрытый ключ в папку c:usersuser.ssh — ssh не коннектится
сделал папку c:usersuser.sshauthorized_keys закинул еще и туда, все равно не коннектится
скажите, а где вы прочли такое, про то что надо сделать папку authorized_keys?
Nordman99, «папку authorized_keys»?
Не файл?
latush, Да папку, не файл, и в нее закидывал ключ .pub
Nordman99, authorized_keys это файл со списком ключей
Nordman99, попробуйте вот что, на винде удалите папку authorized_keys, затем с вашей убунты выполните команду:
Решения вопроса 1
software engineer
Нужно полистать конфигурацию вашего sshd сервере на винде и посмотреть где он считает должны быть публичные ключи пользователя.
Это может быть и $USERHOME/.ssh/authorized_keys и $USERHOME/.ssh/authorized_keys2 и что-нибудь еще.
ssh-copy-id может не знать про то, где должны лежать публичные ключи в винде, его нет смысла использовать в данном случае.
Прочитайте документацию к sshd серверу под виндой чтобы понять где он ищет публичные ключи пользователя.
Ответ написан более года назад
Нужно полистать конфигурацию вашего sshd сервере на винде и посмотреть где он считает должны быть публичные ключи пользователя
Вообщем виндовый OpenSSH устанавливается в папку c:windowssystem32OpenSSH
Там же лежит дефолтный конфиг — sshd_config_default
Вот его содержимое: https://pastebin.com/tnudZbsJ
Этот конфиг целиком копируется при установке в папку c:ProgramDatassh
С именем sshd_config, оттуда, т.е. из файла c:ProgramDatasshsshd_config эти настройки и применяются при первом запуске sshd, с дефолтными настройками авторизация по паролю проходила, коннект из линукса в винду по SSH проходил отлично,
я в файле поменял, настройки: прописал путь к authorized_keys (может его и ненадо было прописывать?)
отключил авторизацию по паролю и включил по ключу:
PasswordAuthentication no
PubkeyAuthentication yes
Прописал путь к authorized_keys таким образом:
Было: AuthorizedKeysFile .ssh/authorized_keys
Прописал: AuthorizedKeysFile __USERPROFILE__/.ssh/authorized_keys
Кстати странно что было AuthorizedKeysFile .ssh/authorized_keys (в линуксовом конфиге эта строчка такая же) — что подразумевается под расположением .ssh/authorized_keys ? Если папка пользователя то где путь к ней перед .ssh?
вообщем полистав виндовый конфиг ниже можно увидеть такие строчки:
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Отсюда делаю вывод — в виндовом конфиге к переменным окружения обращаться нужно также через __ до и после, т.к. PROGRAMDATA это системная переменная окружения, обычно — c:Programdata
поэтому путь к authorized_keys я и прописал как _USERPROFILE__/.ssh
т.к. USERPROFILE в винде это путь к папке профиля текущего пользователя, в моем случае — c:Usersмояпапка
По совету uvelichitel прописал также в конфиге
Match User Me
AuthorizedKeysFile __USERPROFILE__/.ssh/authorized_keys
а оригинальные строчки
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
закомментировал
Вообщем сейчас мой конфиг выглядит так: https://pastebin.com/usQSU5tC
sshd ессно перезапускал, не коннектится по ключу все равно,
Кстати пробовал коннектися из убунты и через putty, сгенерил в патти ключи (т.к. с ключами openssh он не работает, вернее работает но если их сконвертировать формат патти но я не стал), также закинул открытый ключ на сервер в файл authorized_keys — и патти не коннектится, выдаёт тоже самое
Permission denied (publickey,keyboard-interactive).
Кстати странно что было AuthorizedKeysFile .ssh/authorized_keys (в линуксовом конфиге эта строчка такая же) — что подразумевается под расположением .ssh/authorized_keys ? Если папка пользователя то где путь к ней перед .ssh?
Подразумевается относительный путь. У пользователя по умолчанию рабочая папка равна его домашней папке. Тем более что в Линукс домашняя папка пользователя может быть где угодно (/home/user1 или /root или /opt/user2 или /var/www) поэтому для линукса это правильный путь.
Прописал: AuthorizedKeysFile __USERPROFILE__/.ssh/authorized_keys
В Windows по идее должно работать %USERPROFILE%/.ssh/authorized_keys
но я тут вычитал, что если у тебя пользователь — администратор, но такая штука не сработает. Надо добавлять публичный ключ в %PROGRAMDATA%/ssh/administrators_authorized_keys
Вот из оригинальной инструкции:
Note that if you are setting up keys for an administrator user, putting the public key to %USERPROFILE%/.ssh/authorized_keys will not work. You must append the public key to %PROGRAMDATA%/ssh/administrators_authorized_keys instead.
И дополнительно нужно еще и права доступа к этому файлику защитить, для этого можно выполнить повешелл скрипт, который добавит нужные ACL:
$acl = Get-Acl C:ProgramDatasshadministrators_authorized_keys $acl.SetAccessRuleProtection($true, $false) $administratorsRule = New-Object system.security.accesscontrol.filesystemaccessrule(«Administrators»,»FullControl»,»Allow») $systemRule = New-Object system.security.accesscontrol.filesystemaccessrule(«SYSTEM»,»FullControl»,»Allow») $acl.SetAccessRule($administratorsRule) $acl.SetAccessRule($systemRule) $acl | Set-Acl
Источник: qna.habr.com
Как использовать команду ssh-copy-id 4 мин для чтения
Добавить в избранное
Главное меню » Как использовать команду ssh-copy-id
6 апреля 2021
К оманда ssh-copy-id — это простой инструмент, который позволяет вам установить ключ SSH на авторизованные ключи удаленного сервера. Эта команда упрощает вход с использованием ключа SSH, что устраняет необходимость в пароле для каждого входа, обеспечивая тем самым автоматический процесс входа без пароля. Команда ssh-copy-id является частью OpenSSH, инструмента для удаленного администрирования системы с использованием зашифрованных соединений SSH.
В этой статье показано, как использовать инструмент ssh-copy-id, чтобы сделать вашу авторизацию по SSH более простой и безопасной.
Как установить команду ssh-copy-id
Инструмент ssh-copy-id, часть пакета OpenSSH, доступен во всех основных репозиториях дистрибутива Linux, и вы можете использовать свой менеджер пакетов для установки этой команды.
Чтобы установить инструмент ssh-copy-id в Debian, используйте следующую команду:
sudo apt-get update sudo apt-get install openssh-client
После установки OpenSSH вы можете использовать инструмент ssh-copy-id в командной строке.
Использовать ssh-copy-id просто, потому что сценарий делает процесс аутентификации с открытым ключом более простым и эффективным. Прежде чем мы углубимся в то, как использовать инструмент, мы сначала обсудим, как работает аутентификация с открытым ключом SSH.
Примечание
Если вы уже знаете, как работает аутентификация с открытым ключом SSH, можете пропустить эту часть и подробнее узнать, как сразу же использовать команду ssh-copy-id.
Аутентификация открытого ключа SSH
Аутентификация с открытым ключом SSH — это метод аутентификации SSH, который позволяет пользователям использовать криптографически сгенерированные ключи для входа на удаленные серверы.
Ключи SSH более безопасны, чем необработанные пароли, и обеспечивают гораздо более эффективный способ входа в SSH. Ключи SSH автоматизированы и после авторизации не требуют ввода пароля при каждом входе в систему.
Чтобы использовать SSH-ключ, мы начнем с его генерации.
Читать Как проверить использование памяти в Linux
Как сгенерировать SSH-ключ
Чтобы сгенерировать SSH-ключ, используйте инструмент ssh-keygen, который входит в состав OpenSSH. Этот инструмент генерирует файлы открытого и закрытого ключей, хранящиеся в каталоге ~/.ssh, как показано ниже.
Как скопировать SSH-ключ с помощью SSH-copy-id
После того, как мы сгенерировали SSH-ключ, мы можем вручную добавить SSH-ключ в файл authorized_keys удаленного компьютера или использовать команду ssh-copy-id.