Qual é a maneira correta de scp'ing entre dois servidores que você efetua login por chave privada?

5

Eu tenho uma grande quantidade de dados para enviar de um servidor para outro. Eu acesso servidores via ssh usando uma chave privada.

O problema é que eu não posso usar essa chave para arquivos scp de um servidor para outro - servidor Um não tem a chave privada que o servidor Dois espera (apenas a parte pública), então Dois não permitirá acesso de Um.

A única maneira de enviar arquivos seria levá-los ao meu computador primeiro (muito devagar), enviar chave privada para um dos servidores (provavelmente não vai explodir nesse caso, mas eu realmente odeio essas soluções), ou crie contas extras apenas para isso ou para um dos servidores.

O ssh não tem alguma maneira de permitir que uma sessão ssh encaminhe a autorização? Isso seria muito bom.

    
por taw 02.07.2010 / 18:18

2 respostas

6

Supondo que você tenha a mesma chave pública presente em ~ / .ssh / authorized_keys em ambos os servidores, e que você esteja executando algum tipo de agente ssh localmente, então você pode usar o encaminhamento de Agente.

localcomputer$ ssh -o ForwardAgent=yes [email protected]

Dessa forma, quando você do server.one executar sua sessão scp no server.two, a autenticação será tratada de maneira transparente em segundo plano pelo seu computador local. Apenas observe o seguinte aviso, tirado de ssh_config (5)

Agent forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the agent's Unix-domain socket) can access the local agent through the forwarded connection. An attacker cannot obtain key material from the agent, however they can perform operations on the keys that enable them to authenticate using the identities loaded into the agent.

(Em suma, até certo ponto você terá que confiar em [email protected].)

    
por 02.07.2010 / 18:48
2

Em uma nota:

Se você está enviando grandes volumes de dados, é melhor usar tar-over-ssh, em vez de scp. É realmente muito mais rápido.

veja howto use tar sobre ssh

    
por 05.07.2010 / 15:16

Tags

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '646204',
    'url' => 'what-is-the-proper-way-of-scping-between-two-servers-you-log-in-by-private-key',
];

$_COOKIE = [
    'advanced-frontend' => 'iffemgi5kjrnu15jdqp3gifdnn',
    '_csrf-frontend' => '4c3ac6b49ed05b61e744f2f002aeaa877169d0eca45fcad07c2c316e667cd474a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"26Z5nUmE18MAnC9bNPh_9R6eojWOHvDn";}',
];

$_SESSION = [
    '__flash' => [],
];