我使用 SSH 连接到我的服务器:
ssh user@server -p 2224 -zZ abcd
我的服务器上还有一个 git 存储库。我知道克隆的唯一方法是:
git clone ssh://[email protected]:2224/path/to/repo
使用上面的命令我无法连接到我的服务器,因为-zZ abcd
命令中没有。我尝试了以下命令但不起作用。
git clone ssh://[email protected]:2224/path/to/repo -zZ abcd
git clone "ssh://[email protected]:2224/path/to/repo -zZ abcd"
如何在git-clone
命令中包含 ssh 参数?
答案1
您可以设置配置选项以节省打字;所以,之后
$ cat >>.git/config <<EOF
[remote "myrepo"]
url = ssh://[email protected]:2224/path/to/repo -zZ abcd
EOF
仅使用git clone myrepo
请参阅remote..url选项的解释git配置了解详情。
答案2
另一种可能性是设置每个主机的 ssh 选项。当您希望 ssh 选项适用于所有 ssh 命令而不仅仅是 git 时,这可能会很好。这些选项位于 ~/.ssh/config 中并记录在man ssh_config
.例如,~/.ssh/config 可能包含类似以下内容:
Host server.com
Compression "yes"
ConnectTimeout 4
GlobalKnownHostsFile /path/to/hosts_file
答案3
.ssh/config
如果您经常使用存储库,那么您应该像 amcnabb 所说的那样使用它,记住它.ssh/config
可以让您为配置选项创建别名,或者.git/config
如果由于某种原因不合适的话。
但是,如果您必须传递ssh
真正瞬态的配置选项,例如因为您被困在机场 wifi 中,那么请调整ssh
我通常的说明:ssh
tor
安装connect
在您的路径中,也许可以通过connect.c
从源代码构建
创建一个名为的脚本git-tbb
:
#!/bin/bash
export CONNECT_PASSWORD=""
exec ssh -o ProxyCommand="connect -5 -S 127.0.0.1:9150 %h %p" $*
创建一个名为git-tbb
#!/bin/bash
export GIT_SSH=`which ssh-tbb` git pull
exec git $*
-tor
如果您将默认 Tor 配置的端口更改为 9050,而不是 TBB 的默认 9150,请将它们重命名为。