Windows 10 теперь включает встроенный sshd-сервер. Это означает, что я должен иметь доступ к своим репозиториям git, расположенным на компьютере с Windows, с помощью
git clone ssh://myid@mywinmachine/myrepos/repo1.git
Однако вышеуказанное не работает. я получаю
fatal: ''/myrepos/repo1.git'' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Я думаю, что проблема в том, что на mywinmachine неправильно указан каталог моего репозитория git.
И я не знаю, как это решить. Мой репозиторий git находится по адресу c: \ myrepos \ repo1.git на mywinmachine (на самом деле он находится в другом месте, но я создал перекресток). (Я также пытался иметь символическую ссылку (соединение) в c: \ users \ myid \ myrepos - тоже не помогло.)
когда я делаю ssh myid @ mywinmachine, все в порядке. Я вхожу в систему нормально, и меня помещают на компьютер c: \ users \ myid (в командной строке).
Я установил Git Windows на mywinmachine, так что любая команда git доступна из любой командной строки). Итак, если я на mywinmachine наберу: git --version, я получу правильные ответы
myid@mywinmachine C:\Users\myid>git --version
git version 2.18.0.windows.1
Что я делаю не так? Какой путь я должен указывать для git clone ssh://
, чтобы попасть в мои репозитории, расположенные на mywinmachine?
Обратите внимание: я не могу смонтировать каталог Windows, потому что мой ящик разработки - OpenBSD (6.3), и в нем нет способа монтировать совместимые с samba общие ресурсы ... (без mount_smbfs, без cifs). Так что единственное, что я мог понять, как получить доступ к моим репозиториям git на базе Windows, это ssh ... и это привело меня в эту «кроличью нору».
Я не использую аутентификацию на основе ключей, используя интерактивный пароль.
sshd_config - это значение по умолчанию, которое было установлено Windows. Я не вносил в него никаких изменений.
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey __PROGRAMDATA__/ssh/ssh_host_rsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_dsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedPrincipalsFile none
# For this to work you will also need host keys in %programData%/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#PermitTTY yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# override default of no subsystems
Subsystem sftp sftp-server.exe
# Example of overriding settings on a per-user basis
#Match User anoncvs
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
Я столкнулся с той же проблемой, и у меня сработало изменение оболочки по умолчанию для OpenSSH на git bash.exe. Проблема, похоже, связана с цитированием пути.
Видеть https://stackoverflow.com/questions/53834304/how-do-i-git-clone-from-a-windows-machine-over-ssh
Наконец-то ты можешь клон ваше репо в ssh- $ HOME для пути | упрощение проблемы с разрешениями