Ei sei que o ANT já era, a moda agora é MAVEN na mente! Mas o ANT me pareceu mais simples de aprender e mais acessível em primeiro instante. Como é o meu primeiro contato com esse tipo de ferramenta que tem mais poder que um simples MAKEFILE, optei por aprender primeiro a usar o ANT.
Tenho um servidor CVS rodando em uma máquina SUSE 9 com ssh2.
property:
cvs.login=?
cvs.server=?
cvs.root=?
cvs.protocol=ext (troca de chaves rsa com o servidor ./ssh )
cvs.line=:${cvs.protocol}:${cvs.login}@${cvs.server}:${cvs.root}
O problema neste caso pode ser a autenticação. Até onde eu sei a task do ant não trabalha diretamente em cima de SSH, então talvez você precise de um esquema de chave publica/privada, ou usar pserver, ou usar subversion!
REM Vai para o diretório padrão do usuário.
cd %USERPROFILE%
REM Verifica o servidor de CVS, o nome de usuário é a senha
if “cvs_server” == “” set /p cvs_server=Entra o nome do servidor de CVS:
if “cvs_user_name” == “” set /p cvs_user_name=Entra o nome de usuário no servidor de CVS:
REM if “cvs_password” == “” set /p cvs_password=Entra a senah no servidor de CVS:
REM Gera as chaves RSAs no sub-diretório .ssh
REM Se não exista precisamos criar o diretório .ssh no servidor primeiro.
echo
echo Gerando chaves no sub-diretório .ssh com nome id_rsa.
echo A chave privada fica no arquivo %USERPROFILE%/.ssh/is_rsa .
echo A chave pública fica no arquivo %USERPROFILE%/.ssh/rsa.pub .
echo
ssh-keygen -t rsa -q -f ./.ssh/id_rsa -N “”
REM Transfira a chave pública ao servidor de CVS.
echo
echo Copiando a chave pública ao servidor.
echo Entra a sua senha no servidor CVS no prompt.
echo
scp .ssh/id_rsa.pub %cvs_user_name%@%cvs_server%:~/.ssh
REM Cópia a chave ao arquivo authorized_keys2. Caso já exista um arquivo de chaves
REM e estive desejável manter os valores do arquivo, é necessário primeiro
REM cópiar o arquivo à maquina local, adicaionar a chave nova, apagar o arquivo
REM no servidor e enviar a versão nova ao servidor.
echo
echo Copiando a chave ao arquivo de autorização, authorized_keys2 .
echo Qualquer versão anterior de authorized_keys2 vai ser sobre escrito.
echo Entra a sua senha no servidor CVS no prompt.
echo
scp %cvs_user_name%@%cvs_server%:~/.ssh/is_rsa.pub %cvs_user_name%@%cvs_server%:~/.ssh/authorized_keys2
REM Terminado
echo
echo Terminado
echo Para funcionar com CVS, definir o variável de ambiente
echo set CVS_RSH=ssh
echo
echo e utiliza o protocolo ext na definição do raiz de repositório.
echo Por exemplo:
echo > cvs -d :ext:%cvs_user_name%@%cvs-server%/
echo
:End
Troca de chaves de autenticação entre client/server!!
Autenticação indiferente de plataformas!!
windows==> intalar OpenSSH
então é só usar o protocolo ==> :ext