As suposições de administração do sistema estão no final deste post.
- download & instale putty, plink, pageant e puttygen em aqui
- se você não tiver uma chave ssh, inicie o puttygen e:
- se já tiver uma chave gerada pelo Linux:
- selecione "carregar um arquivo de chave privada existente"
- selecione o arquivo apropriado (deve alterar o filtro de extensão de arquivo)
- insira a frase secreta
- selecione "salvar chave privada"
- mais,
- selecione "gerar chave"
- mova o mouse aleatoriamente
- selecione "salvar chave privada"
- selecione "salvar chave pública"
- se já tiver uma chave gerada pelo Linux:
- envie seu sysadmin a CHAVE PÚBLICA e não a chave privada! (sysadmins: leia abaixo)
- execute um prompt de comando do Windows (inicie > execute e digite 'cmd') e inicie o 'pageant.exe'
- clique com o botão direito do mouse no ícone na barra de ícones, "adicionar chave"
- selecione sua chave particular que você salvou antes, insira a frase secreta
-
massa de lançamento
- no hostname put: o endereço IP do seu servidor de repositório
- salva a sessão como '
remote-dev
' (qualquer nome está ok) - vá para conexão > proxy
- selecione "local" para o tipo de proxy
- nome do host do proxy: sua entrada DNS ou endereço IP do firewall
- porta:
22
(ou o que for apropriado para o ssh no firewall) - nome de usuário:
hg
(ou qualquer usuário no firewall tem sua chave ssh pública em .ssh / authorized_files) - em 'comando telnet ou proxy local' substitua o conteúdo por '
FULLPATH\plink.exe -v -nc %host:%port %user@%proxyhost
' (observe use o caminho COMPLETO do executável plink.exe. como c: \ plink.exe) - vá para conexão > dados
- login automático nome de usuário: hg (ou qualquer usuário no servidor de repositório que tenha o hg-gateway em execução)
- voltar para 'sessão'
- clique em "salvar" para salvar a sessão
- clique em "abrir"
-
você deve ver algo como
Using username "hg". Authenticating with public key "imported-openssh-key" from agent Welcome to XXX code repository server! Your SSH access is restricted by hg-gateway. Summary of repos you have access to:
-
faça agora o download & instalar o tortoisehg
- inicie o ambiente de trabalho do tortoisehg
- arquivo > repositório clone
- source: ssh: //
remote-dev
/repo-name
(o remote-dev precisa corresponder ao que você chamou de sua sessão no putty!) - destino: escolha seu destino local
- clique em "clone"
- é isso.
Para permitir que um usuário acesse o repositório remoto:
- adicione a chave ssh pública a
.ssh/authorized_keys
do usuáriohg
no firewall - use
hg-gateway
para adicionar a chave desse usuário ao usuáriohg
no servidor
Uma nota: o putty tende a gerar chaves no formato .ppk; eles precisam ser convertidos em uma chave ssh de uma linha. O Google é seu amigo aqui.
Suposições:
- no firewall há um usuário chamado '
hg
', cujo arquivo.ssh/autorhized_keys
contém as chaves públicas de todos os usuários que devem acessar o repositório -
o arquivo / etc / ssh / sshd_config do firewall contém uma linha similar a:
Match Group dev ForceCommand nc -q0 reposerver_ip 22
para que o usuário NÃO possa especificar a quais hosts se conectar. O usuário '
hg
' obviamente pertence ao grupo unix 'dev
'.