Questão Chave de autorização SSH para vários sistemas


Em algum lugar eu li que para acessar uma máquina remota através do SSH 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.

eu copiei ~/.ssh/id_rsa.pub da máquina A para ~/.ssh/authorized_keys da máquina B e eu 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?


4


origem




Respostas:


o authorized_keys arquivo 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 este processo, existe 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 a ser copiada usando o -i opção se você quiser.


Aqui está a referência no manual:

O usuário cria seu par de chaves executando ssh-keygen(1). Isso armazena a chave privada em […] ~/.ssh/id_rsa.pub (protocolo 2 RSA) no diretório inicial do usuário. O usuário deve então copiar a chave pública para ~/.ssh/authorized_keys em seu diretório pessoal na máquina remota.

o authorized_keys arquivo […] tem uma chave por linha, embora as linhas possam ser muito longas. Depois disso, o usuário pode efetuar login sem fornecer a senha.


9



obrigado pela sua resposta, mas o comando ssh-copy-id user @ machine-B não está funcionando. Está dando erro "ssh-copy-id: comando não encontrado". - Amrinder Singh
Então você tem que instalá-lo. Não vem com todos os sistemas. - slhck


Alternativamente, você pode executar este comando:

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

Para anexar ao arquivo authorized_keys


3