Назад | Перейти на главную страницу

Каков правильный способ переключения между двумя серверами, на которых вы входите с помощью закрытого ключа?

У меня есть большой объем данных для отправки с одного сервера на другой. Я получаю доступ к серверам через ssh, используя закрытый ключ.

Проблема в том, что я не могу использовать этот ключ для файлов scp с одного такого сервера на другой - сервер One не имеет закрытого ключа, которого ожидает сервер Two (только публичная часть), поэтому Two не разрешит доступ с One.

Единственный способ отправить файлы - сначала загрузить их на мой компьютер (слишком медленно), отправить закрытый ключ на один из серверов (в этом случае он, вероятно, не взорвется, но я действительно очень ненавижу такие решения) или создать дополнительные аккаунты только для этого или одного из серверов.

У ssh нет способа разрешить авторизацию сеанса ssh вперед? Это было бы действительно здорово.

Предполагая, что у вас есть один и тот же открытый ключ, присутствующий в ~ / .ssh / authorized_keys на обоих серверах, и что вы запускаете какой-то агент ssh локально, тогда вы можете использовать пересылку агента.

localcomputer$ ssh -o ForwardAgent=yes youruser@server.one

Таким образом, когда вы из server.one запускаете сеанс scp против server.two, аутентификация будет прозрачно обрабатываться в фоновом режиме на вашем локальном компьютере. Обратите внимание на следующее предупреждение, взятое из ssh_config (5)

Пересылку агента следует включать с осторожностью. Пользователи с возможностью обхода файловых разрешений на удаленном хосте (для сокета домена Unix агента) могут получить доступ к локальному агенту через перенаправленное соединение. Злоумышленник не может получить ключевой материал от агента, однако он может выполнять операции с ключами, которые позволяют им аутентифицироваться с использованием идентификаторов, загруженных в агент.

(Короче говоря, в определенной степени вам придется доверять root@server.one.)

На полях:

Если вы отправляете большие объемы данных, вам лучше использовать tar-over-ssh вместо scp. Действительно намного быстрее.

видеть как использовать tar поверх ssh