Enviada: Qua Set 03, 2008 2:05 pm Assunto: [RESOLVIDO]SSH com login automático
Boa tarde a todos.
Estava criando as chaves para que todos os usuários da rede possam logar no servidor sem necessidade de senha.
No entanto, me deparei com um problema com um deles. Simplesmente não consiga tornar automático o login. Procedimento abaixo.
Código:
#!/bin/bash
# kumar.mcmillan -at- farmdev.com
function usage()
{
echo ""
echo "Authorizes a host for automatic SSH use by sending your key to the remote host ..."
echo "Usage: $0 remote_host_to_authorize [username:=defaults to current username]"
echo ""
}
function cleanup()
{
if [ -f $TEMP_PUB_KEY_XFER ]
then
rm $TEMP_PUB_KEY_XFER
fi
}
function exit_on_error()
{
cleanup
exit 1
}
if [ $# -lt 1 -o "$1" = "-h" -o "$1" = "--help" ]
then
usage
exit 0
fi
PUB_KEY=~/.ssh/id_rsa.pub
if [ $# -eq 2 ]; then
USER=$2
else
USER=`whoami`
fi
HOST_TO_AUTH=$1
TEMP_PUB_KEY_XFER=/tmp/$USER"_TEMP_KEY"
echo "checking for $PUB_KEY ..."
if [ ! -f $PUB_KEY ]; then
echo "generating your rsa public key (leave passphrase blank and save to $PUB_KEY when prompted) ..."
ssh-keygen -t rsa
if [ $? -ne 0 ]; then
echo "ssh-keygen failed"
exit_on_error
fi
fi
echo "OK"
echo "for the following commands you will be asked to supply your password for $HOST_TO_AUTH :"
echo "copying a temp pub key to $HOST_TO_AUTH ..."
cat $PUB_KEY > $TEMP_PUB_KEY_XFER
chmod 700 $TEMP_PUB_KEY_XFER
echo "OK"
remote_key=`basename $TEMP_PUB_KEY_XFER`
scp $TEMP_PUB_KEY_XFER $USER@$HOST_TO_AUTH:~/$remote_key
if [ $? -ne 0 ]; then
echo "scp failed"
exit_on_error
fi
echo "authorizing $HOST_TO_AUTH for automatic SSH use ..."
ssh $USER@$HOST_TO_AUTH "cat ~/$remote_key >> ~/.ssh/authorized_keys; rm ~/$remote_key"
if [ $? -ne 0 ]; then
echo "ssh failed"
exit_on_error
fi
echo "OK"
cleanup
echo "authorization successful! you can now login automatically to $HOST_TO_AUTH"
exit 0
As permissões que estam na pasta do usuário no servidor:
Código:
drwxrwxr-x 2 sergios sergios 4096 Set 3 10:08 .
drwx------ 4 sergios sergios 4096 Set 3 10:08 ..
-rw-r--r-- 1 sergios sergios 396 Set 3 10:08 authorized_keys
Alguém já se deparou com essa situação ?
Editado pela última vez por anjo_ed em Qua Set 24, 2008 8:56 am, num total de 1 vez
Registrado em: Oct 22, 2004 Mensagens: 2143 Localização: Salvador - Bahia
Enviada: Sex Set 05, 2008 2:58 pm Assunto:
Será copiado nossa chave pública para o servidor. Não
esqueça, tem que ser a chave PÚBLICA. A privada nunca
sai de sua máquina. scp é o utilitário que irá copiar
nossa chave, id_rsa.pub é a nossa chave (caso você tenha
escolhido o algoritmo DSA, o nome será id_dsa.pub), gabriel
é o usuário, 10.0.0.5 é o servidor e finalmente o caminho
para onde vai a chave.
Agora logando-se na máquina você perceberá que o
servidor ainda pede a senha. O que temos que fazer é ir no
diretório onde está a chave pública e mudarmos o nome para
'authorized_keys':
mv id_rsa.pub authorized_keys (caso seja rsa)
mv id_rsa.pub authorized_keys2 (Olha o 2 aí)(caso seja dsa)
Dê um logout com 'exit': exit
E logue-se de novo e não pedirá mais a senha!!!! _________________ Cristiano Furtado dos Santos
Gerente de Projetos de SL
Embaixador do Projeto Fedora Brasil.
Pagina Pessoal: http://jasonnfedora.eti.br
Esse algoritmo foi uma terceira opção que utilizei para resolver o problema... Esse jeito como disseste, já tentei, não funcionou, continuou a pedir =/
a configuração deve ser feita tanto na maquina local como na remota.
Além disso, foi necessário inserir o conteúdo do id_rsa.pub no authorized_key na local e na remota ( authorized_keys )