Usando o sshd embutido do Windows 10, não é possível clonar o repositório git

2

O Windows 10 agora inclui um servidor sshd integrado. Isso significa que eu deveria ser capaz de acessar meus repositórios git localizados na máquina windows com

git clone ssh://myid@mywinmachine/myrepos/repo1.git  

No entanto, o acima não está funcionando. Estou recebendo

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.

Eu acho que o problema é que há uma confusão na localização do diretório do meu repositório git na mywinmachine.

E não sei como resolver isso. Meu repositório git está localizado em c: \ myrepos \ repo1.git na mywinmachine (Na verdade, é em outro local, mas eu criei uma junção). (Eu também tentei ter symlink (junção) em c: \ users \ myid \ myrepos - não ajudou também.)

quando eu faço ssh myid @ mywinmachine, está tudo bem. Faço o login e estou sendo colocado na máquina c: \ users \ myid (em um prompt cmd).

Eu configurei o Git Windows mywinmachine, de modo que qualquer comando git seja acessível a partir de qualquer prompt de comando). Então, enquanto na mywinmachine, se eu digitar:  git --version, recebo respostas corretas

myid@mywinmachine C:\Users\myid>git --version
git version 2.18.0.windows.1

O que estou fazendo de errado? Qual caminho devo especificar para git clone ssh:// , para acessar meus repositórios localizados na mywinmachine?

Note que não consigo montar o diretório windows porque minha caixa de desenvolvimento é OpenBSD (6.3), e isso não inclui uma maneira de montar compartilhamentos compatíveis com o samba ... (no mount_smbfs, no cifs). Então, o único que eu poderia descobrir como acessar meus repositórios git baseados no Windows é por ssh .. e isso está me levando para este 'buraco de coelho'.

Eu não uso autenticação baseada em chave, passando por senha interativa.

sshd_config é o padrão, que foi instalado pelo windows. Eu não fiz alterações nele.

# 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
    
por V P 23.06.2018 / 05:43

1 resposta

1

  1. Leia para dicas e ideias
  2. Teste o SSH puro antes do clone (com a junção existente) - login, ls, cd: ou seja, verifique as permissões de acesso do usuário / processo (provavelmente esperarei problemas aqui)

Por fim, você pode clonar seu repositório em sua simplificação do problema ssh- $ HOME for path | permissions

    
por 24.06.2018 / 15:39

Tags