Я только что попытался установить CopSSH на виртуальной машине (я никогда не использовал его ранее), и кажется, что если вы оставите его равным Linux shell
, то он будет вызывать только доступ к оболочке Linux. то есть, если вы попытаетесь сделать ssh user@host ls
, он войдет в систему и оставит вас в приглашении оболочки, когда он должен выполнить ls
, отобразить вывод и снова выйти из системы.
Все остальные параметры также не работают по той или иной причине, но Linux shell and Sftp
работает (по крайней мере, для теста ssh user@host ls
, но он должен работать и для других вещей, таких как git clone
.
РЕДАКТИРОВАТЬ: ОК, я попробовал это с Git сейчас. Я должен был указать опцию --upload-pack
для git clone
, и мне пришлось указать путь к хранилищу как 'C:\Documents and Settings\user\test'
. Если я пробовал косые черты или /c/Documents and Settings...
или /cygdrive/c/Documents and Settings...
или /c/Documents\ and\ Settings...
и т. Д., Я получал сообщение об ошибке:
fatal: '/c/Documents\ and\ Settings/user/test' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Так что это работает для меня:
$ git clone --upload-pack="/cygdrive/c/Program\ Files/Git/libexec/git-core/git-upload-pack.exe" user@169.254.99.3:'c:\Documents and Settings\user\test' test
Initialized empty Git repository in /tmp/test/.git/
user@169.254.99.3's password:
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.
Это с Linux shell and Sftp
, указанным в качестве оболочки на панели управления CopSSH. У меня также включен sftp
(на вкладке SFTP
), но я сомневаюсь, что это имеет значение.