ssh insira uma frase de senha em uma linha

1

Eu quero executar um comando via ssh, mas meu servidor está usando a frase secreta, quero fazer apenas uma linha sem perguntar a frase secreta.

~# ssh -t root@dev5 'echo "tes" ; bash'
Enter passphrase for key '/home/sed22/.ssh/id_rsa':

Obrigado pela ajuda.

    
por user1070579 28.04.2016 / 06:25

2 respostas

2

but my server is using passphrase

Não, não é. Sua chave é criptografada para que seu cliente solicite a frase secreta para que ela possa descriptografá-la.

Não fique tentado a remover a criptografia da chave - é uma coisa ruim TM .

Em vez disso, use ssh-agent ou pageant (windows) para armazenar suas chaves (com segurança) na memória enquanto durar sua sessão. Como você faz isso depende do sistema operacional do seu cliente.

Se você estiver tentando automatizar um processo, talvez seja necessário usar uma chave não criptografada, mas deve tomar precauções especiais para limitar a chave que pode ser usada para um exemplo .

    
por 28.04.2016 / 08:47
1

Você pode remover a frase secreta de uma chave com ssh-keygen -p . Este é o começo de uma chave chamada FOO, que, como você pode ver, é criptografada com uma frase secreta:

[me@risby .ssh]$ head -5 FOO
-----BEGIN RSA PRIVATE KEY----- 
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,DCF8CD9222D62A42D0BFE4FC284BD6BB

f2hDtfkOeUC0Gw0MhQzSvPSj+6XtYX+Y7XMZ7m8BuAz4mg2G/M99LmXlmGW/7AUj

Retiramos a frase-senha (digitando retornar quando solicitada a nova frase secreta):

[me@risby .ssh]$ ssh-keygen -p -f FOO
Enter old passphrase: 
Enter new passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved with the new passphrase.

e a chave agora não está criptografada:

[me@risby .ssh]$ head -2 FOO
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA2mfFcvjEuIsyZbhdp4U9Hn7XxFr5naBJEqSMGFdrfL7iX38C
    
por 28.04.2016 / 07:14