Normalmente, estou me conectando ao servidor remoto com
ssh user@server.com -p 11000
e, em seguida, fornecendo a senha sempre para o usuário. Como devo evitar digitar a senha toda vez que me conectar usando ssh?
Normalmente, estou me conectando ao servidor remoto com
ssh user@server.com -p 11000
e, em seguida, fornecendo a senha sempre para o usuário. Como devo evitar digitar a senha toda vez que me conectar usando ssh?
Respostas:
Primeiro , coloque isso em ~/.ssh/config:
Host server
HostName server.com
Port 11000
User user
Você será capaz de ssh serverdigitar a senha.
Segundo , verifique ~/.ssh/se você possui arquivos com o nome id_rsae id_rsa.pub. Caso contrário, você não tem nenhuma chave configurada, então você deve gerar um par usando ssh-keygen. Você pode dar uma senha às chaves ou não. O arquivo gerado id_rsa.pubdeve ficar assim:
ssh-rsa lotsofrandomtext usuário @ local
Terceiro , ssh para o servidor, crie o arquivo ~/.ssh/authorized_keysse ele não existir. Em seguida, anexe o conteúdo do ~/.ssh/id_rsa.pubque você gerou anteriormente aqui. Isso pode significar copiar o conteúdo do arquivo para a área de transferência, abrir ~/.ssh/authorized_keysem um editor de texto e colar o conteúdo .
Como alternativa, use o comando ssh-copy-id server(substitua serverpelo nome em ~/.ssh/config). Isso fará o mesmo que acima. Às vezes eu vi ssh-copy-idficar preso, então eu realmente não gosto disso.
Agora você deve poder ssh apenas ssh server, a menos que tenha escolhido proteger sua chave privada com uma senha. Geralmente, se você não usa uma senha, deve proteger sua chave privada por outros meios (por exemplo, criptografia de disco completo).
Quarto (necessário apenas se você proteger sua chave privada com uma senha), coloque isso em~/.bashrc :
start_ssh_agent() {
# Try to use an existing agent
save=~/.ssh-agent
if [[ -e "$save" ]]
then
. "$save" > /dev/null
fi
# No existing agent, start a new one
if [[ -z "$SSH_AGENT_PID" || ! -e "/proc/$SSH_AGENT_PID" ]]
then
ssh-agent > "$save"
. "$save" > /dev/null
ssh-add
fi
}
start_ssh_agent
Com isso, você precisará digitar a senha apenas uma vez por inicialização do computador.
User userlinha a ~/.ssh/config.
Mude para autenticação baseada em chave .
ssh -P 11000eu era capaz de copiar com ssh. Muito Obrigado.
Como complemento à resposta do phunehehe, consulte o Guia de Chaves do Gentoo Linux para obter um guia de chaves . keychain também usa ssh-agent . O daemon ssh-agent disponibiliza a senha (ela fica indisponível quando o daemon ssh-agent morre), mas o chaveiro reuses an ssh-agent between logins, and optionally prompts for passphrases each time the user logs in, para citar o guia.