Acho que estou um pouco atrasado para a festa aqui, mas encontrei exatamente o mesmo problema aqui e o resolvi.
Primeiro, decida sua nova porta SSH padrão. Isso afetará o SSH em geral (ou seja: quando você deseja se conectar ao servidor via SSH usando linha de comando, massa etc. A porta não pode ser alterada APENAS para SVN, a menos que você queira invocar várias instâncias do servidor SSHD, que está além do escopo da pergunta original).
Então, assumindo o seguinte:
- Queremos que tudo seja feito pela porta 123456
- O endereço IP do seu servidor é 192.168.1.100
- Seu roteador / firewall abriu a porta 123456
- Seu roteador / firewall tem o encaminhamento de porta de configuração para o roteamento da porta externa 123456 para a porta interna 123456 para o host 192.168.1.100
Lado do cliente:
De qualquer forma, primeiro, modifique o < ~ / .subversion / config > na máquina do cliente e, sob a linha intitulada [tunnels]
, digite a seguinte linha:
ssh = ssh -p 123456
Lado do servidor:
Primeiro, você precisa configurar a nova porta SSH padrão. No seu servidor SVN, edite (no caso do Ubuntu) seu arquivo de configuração SVN SERVER (observe o 'd' depois de "SSH"): sudo vi / etc / ssh / sshd_config
Procure por uma linha que começa com "Port" (por padrão, diz "Port 22") e altere "22" para "123456". Salve e feche o arquivo. Agora reinicie o servidor SSHD: sudo restart ssh
Supondo que sua configuração do SVN esteja funcionando como você já descreveu acima, você está configurado. Se você insistir em traduzir a porta em vez de apenas mantê-la intacta como uma regra de passagem direta de porta única, basta alterar a porta SSH usada no lado do servidor, e você está configurado. Eu testei a configuração acima de um cliente fora da minha LAN com sucesso via:
svn --username megaman ls svn+ssh://[email protected]/usr/local/svn/repos/private
Espero que isso ajude!