Meu provedor VPS recomenda que eu deixe minha porta SSH no número da porta personalizada que eles atribuem por padrão (não 22). O problema é que, embora eu saiba que posso dar o número da porta ao criar uma configuração remota, parece que não posso fazer o mesmo ao fazer um clone do git. Estou usando o gitolite, então clono os comandos:
git clone [email protected]:gitolite-admin
Existe uma maneira de ocultar isso usando o número da porta ssh personalizada?
Também devo mencionar que estou executando o cygwin no Windows. Já vi vários lugares dizendo para adicionar a porta personalizada ao ~/.ssh/config
arquivo, como
Host mydomain.com
Port 12345
no entanto, no cygwin, esse arquivo parece não existir.
git
version-control
ssh
cygwin
ryanzec
fonte
fonte
.ssh/config
(nãoconf
) no diretório inicial do usuário. Não é necessário para a operação básica e, portanto, não existe por padrão. Você terá que criá-lo. Tentevim ~/.ssh/config
(ou use o seu editor de texto preferido e instalado) para abri-lo / criá-lo./Users/USERX/.ssh/config
você precisa definir seuHOME
ambiente local como/Users/USERX
.Respostas:
Observe que o número da porta deve estar lá sem colchetes: []
fonte
git clone [email protected]:[port]/gitolite-admin
git clone ssh://[email protected]:port/home/user/gitolite-admin
1 qual é o problema com o caminho do arquivo de configuração ssh?
Quando o arquivo de configuração não existe, você pode criar um. Além
port
do arquivo de configuração, pode incluir outra opção de configuração ssh:user
IdentityFile
e assim por diante, o arquivo de configuração se parece comSe você estiver executando o Linux, verifique se o arquivo de configuração deve ter permissão estrita: leitura / gravação para o usuário e não acessível por outros
2 e o caminho do ssh url?
É legal, a única coisa que devemos saber é que existem duas sintaxes para ssh url no git
ssh://[user@]host.xz[:port]/path/to/repo.git/
[user@]host.xz:path/to/repo.git/
Por padrão, o Gitlab e o Github mostrarão o scp como URL de sintaxe , e não podemos fornecer a porta ssh personalizada. Então, para mudar a porta ssh, precisamos usar a sintaxe padrão
fonte
Quando você deseja um caminho relativo do diretório inicial (em qualquer UNIX), usa esta sintaxe estranha:
ssh://[user@]host.xz[:port]/~[user]/path/to/repo
Por exemplo, se o repo está em
/home/jack/projects/jillweb
no servidorjill.com
e você está entrando comojack
comsshd
escutando na porta 4242:ssh://[email protected]:4242/~/projects/jillweb
E ao fazer login como
jill
(presumindo que você tenha permissões de arquivo):ssh://[email protected]:4242/~jack/projects/jillweb
fonte
(Atualização: alguns anos depois, o Google e o Qwant "airlines" ainda me enviam aqui ao pesquisar por "porta ssh não padrão do git"). Uma maneira provavelmente melhor em versões mais recentes do git é usar o GIT_SSH_COMMAND ENV.VAR como:
GIT_SSH_COMMAND="ssh -oPort=1234 -i ~/.ssh/myPrivate_rsa.key" \ git clone myuser@myGitRemoteServer:/my/remote/git_repo/path
Isso tem a vantagem adicional de permitir qualquer outra opção adequada para ssh (porta, chave privada, IPv6, dispositivo PKCS # 11, ...).
fonte