chave de autorização SSH para vários sistemas

4

Em algum lugar que eu li que para acessar uma máquina remota através do SSH nós precisamos copiar ~/.ssh/id_rsa.pub da máquina local para ~/.ssh/authorized_keys da máquina remota. Eu fiz isso e posso acessar a máquina remota através do ssh.

Eu quero que a máquina remota seja acessível a partir de vários servidores, como: A máquina A pode acessar a máquina B e existe outra máquina C que também pode acessar a máquina B.

Copiei ~/.ssh/id_rsa.pub da máquina A para ~/.ssh/authorized_keys da máquina B e posso acessar a máquina B.

Mas eu também quero acessar a máquina B da máquina C, então o que devo fazer? Quero dizer, onde devo copiar ~/.ssh/id_rsa.pub da máquina C para a máquina B para que eu possa acessar a máquina B da máquina C?

    
por Amrinder Singh 13.03.2012 / 13:55

2 respostas

9

O arquivo authorized_keys em um host remoto pode conter mais do que apenas uma chave pública. Basta anexá-los - certifique-se de que cada chave receba uma nova linha.

Para simplificar esse processo, há ssh-copy-id(1) .

ssh-copy-id user@machine-B

Você pode executar o comando acima na Máquina C. Ele copiará a chave pública padrão para a Máquina B e a anexará a authorized_keys automaticamente. Você também pode especificar outra chave pública para ser copiada usando a opção -i , se desejar.

Aqui está a referência no manual :

The user creates his/her key pair by running ssh-keygen(1). This stores the private key in […] ~/.ssh/id_rsa.pub (protocol 2 RSA) in the user's home directory. The user should then copy the public key to ~/.ssh/authorized_keys in his/her home directory on the remote machine.

The authorized_keys file […] has one key per line, though the lines can be very long. After this, the user can log in without giving the password.

    
por 13.03.2012 / 14:04
3

Como alternativa, você pode executar este comando:

cat id_rsa.pub | ssh remote-user@remote-host "cat >>~/.ssh/authorized_keys"

Para anexar ao arquivo authorized_keys

    
por 22.03.2012 / 22:17

Tags