Essa dica é para quem, como eu, acessa freqüentemente servidores
Linux com
SSH. Em vez de ter que digitar a senha toda hora, é mais fácil criar uma chave pública e acessar o servidor por meio dessa chave. O procedimento é o seguinte:
Servidor
- Entre no seu diretório $HOME, dentro de .ssh/;
- Digite:
$ ssh-keygen -t dsa
Quando você executar esse comando, ele primeiro vai pedir a localização de destino da chave, apenas pressione Enter. Logo após, digite uma senha. Essa senha servirá para validar a chave, e você usará apenas uma vez. Pressione Enter e repita a senha. Terminado esse processo, as chaves já terão sido criadas. Agora, temos que configurar o cliente.
Cliente
- Usando o scp ou o sftp, entre no mesmo diretório $HOME/.ssh e copie as chaves geradas do servidor para o cliente. Isso pode ser feito de duas maneiras:
- $ scp usuário@ip_do_servidor:.ssh/id_dsa* .
- $ sftp usuário@ip_do_servidor
$ get .ssh/id_dsa*
$ quit
- Digite:
$ ssh-add
Ele pedirá uma senha para a chave. Digite a senha que você digitou no passo 2 da configuração do servidor;
- Opcional. Teste sua configuração. Abra uma sessão SSH para o servidor:
$ ssh usuário@ip_do_servidor
E pronto! Se tudo estiver configurado certo, você entrará no servidor automaticamente, sem ter que digitar uma senha.
Agora, imagine que você tenha um servidor SVN naquela máquina que você esteja acessando, e você queira acessar essa máquina, fazer um checkout do seu projeto. Simples:
$ svn checkout svn+ssh://usuário@ip_do_servidor/caminho_do_diretorio/
Agora, você pode entrar no diretório que foi criado, e utilizar todas as funções do SVN, como svn add, remove, commit, update etc. E o melhor, se você usar as duas dicas combinadas, além de ter acesso ao servidor SVN, você não terá que digitar a senha toda vez que fizer um commit.
Contemplem o poder do SSH+SVN !!
Felipe Rafailov