Windows 10には、組み込みのsshdサーバーが含まれるようになりました。つまり、Windowsマシンにあるgitリポジトリに次のようにアクセスできるはずです。
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リポジトリはmywinmachineのc:\ myrepos\repo1.gitにあります(実際には別の場所にありますが、ジャンクションを作成しました)。 (c:\ users\myid\myreposにもシンボリックリンク(ジャンクション)を作成しようとしましたが、どちらも役に立ちませんでした。)
ssh myid @ mywinmachineを実行すると、すべて問題ありません。私は正常にログインし、c:\ users\myidマシンに(cmdプロンプトに)配置されています。
MywinmachineでGitWindowsをセットアップし、任意のコマンドプロンプトから任意のgitコマンドにアクセスできるようにしました。したがって、mywinmachineで、git --versionと入力すると、正しい応答が得られます。
myid@mywinmachine C:\Users\myid>git --version
git version 2.18.0.windows.1
私が間違っていることは何ですか? mywinmachineにあるリポジトリにアクセスするには、git clone ssh://
にどのパスを指定する必要がありますか?
私の開発ボックスはOpenBSD(6.3)であり、samba互換の共有をマウントする方法が含まれていないため(mount_smbfs、cifsなし)、Windowsディレクトリをマウントできないことに注意してください。したがって、Windowsベースのgitリポジトリにアクセスする方法を理解できるのは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 を参照してください
最後に、次のことができますcloneリポジトリをssh- $ HOMEにパス|権限の問題の単純化