Как скопировать с SCP между двумя серверами с помощью ключевого автора?

вот то, что работало на меня:

во-первых, строка в /etc/fstab должен быть похожим на это:

/iso/apt.iso /mnt/apt iso9660 user,loop 0 0

затем, с точкой монтирования, смонтированной, выполненной apt-cdrom как это:

apt-cdrom -m -d=/mnt/apt add

если склонный все еще просит, чтобы Вы вставили диск, добавили эти строки к apt.conf

Acquire::cdrom::mount "/mnt/apt";
APT::CDROM::NoMount;

Я думаю, что необходимо найти работу, это будет для Вас также :)

16
04.05.2012, 18:03
5 ответов

Немного диагноза: от этого

debug1: Sending command: scp -v -r -p /PATH/TO/DIR root@SERVER2:/PATH/TO/DIR
[...]
debug1: read_passphrase: can't open /dev/tty: No such device or address

Я подозревал бы (предполагают), что это прокладывает себе путь, копия от сервера к серверу с scp входит SERVER1 и выполняется scp команда для отправки файла в SERVER2; таким образом вызывающая сторона (от SERVER1) должен аутентифицировать себя. Теперь это перестало работать, так как это является неинтерактивным (существует нет /dev/tty) и нет никакого способа попросить пароль.

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

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

7
27.01.2020, 19:48
  • 1
    sshfs не является опцией. –  LanceBaynes 04.05.2012, 11:58
  • 2
    Таким образом, проблема состоит в том, что SERVER1 не может ssh к SERVER2 с ключевым автором? Есть ли какие-либо ssh клиентские параметры для этого для использования ключа на моем ноутбуке? –  LanceBaynes 04.05.2012, 11:59
  • 3
    Никакая идея, я боюсь. Вы могли, однако, использовать ssh SERVER1 scp *args-YOU-specifiy* для немного большей гибкости. Возможно, некоторые stdin обман мог помочь... Я не уверен. –  sr_ 04.05.2012, 12:35
  • 4
    (использование ssh-agent) звуки намного лучше, чем stdin обман. –  sr_ 04.05.2012, 14:05

Я попробовал это, и это работает на меня между двумя системами, несколькими различиями:

  • У меня есть агент SSH, работающий с моим добавленным ключом SSH (ssh-add)
  • Мне включили ssh-агент, передающий по умолчанию

Попробуйте следующее:

ssh-add
scp -v -o "ForwardAgent=yes" -p -r root@SERVER1:/PATH/TO/DIR root@SERVER2:/PATH/TO/DIR  
3
27.01.2020, 19:48
  • 1
    все еще "Проверка ключа хоста перестал работать". –  LanceBaynes 04.05.2012, 13:17
  • 2
    @LanceBaynes Гарантирует, что Вы вошли в SERVER2 от SERVER1 как корень. Возможно, у Вас нет его в известном файле hosts корня на SERVER1? –  utopiabound 04.05.2012, 19:12

Это очень легко зафиксировать. Посмотрите, исходный сервер не знает целевой сервер, и он не может попросить, чтобы Вы подтвердили идентификационные данные, так как у Вас нет терминала открытым там:

debug1: read_passphrase: can't open /dev/tty: No such device or address
Host key verification failed.
lost connection

Поэтому просто войдите в исходный аккаунт и попробуйте к ssh (или scp) в учетную запись dest, примите ключ хоста и отмените login/scp. Необходимо смочь скопировать.

local $ ssh source@src-server
src-server $ ssh dest@dst-server
The authenticity of host 'destination (10.0.0.x)' can't be established.
RSA key fingerprint is 71:ec:c0:86:7f:b6:51:eb:76:c8:1f:2f:ba:0a:f4:20.
Are you sure you want to continue connecting (yes/no)? yes
dest@dst-server's password: ^C
src-server $ exit

local $ scp -r source@src-server:/path/to/files dest@dst-server:/path/to/files

В противном случае попытка:

local $ scp -r -o "ForwardAgent=yes" source@src-server:/path/to/files dest@dst-server:/path/to/files

Если у Вас есть ключ SSH с доступом к целевому серверу, и исходный сервер не делает, добавляя -o "ForwardAgent=yes" позволит Вам передавать свой агент SSH исходному серверу так, чтобы он мог использовать Ваш ключ SSH для соединения с целевым сервером.

10
27.01.2020, 19:48

Попробуйте следующие параметры для ssh:

-o StrictHostKeyChecking=no
-o UserKnownHostsFile=.ssh/known_hosts [OPTIONAL]

В моем случае я пытаюсь подключиться к ssh изнутри SP в postgreSQL. Первая попытка не удалась:

pc_ubuntu_db=# SELECT command('ssh -q -v admin@10.30.134.26 hostname');
debug1: Server host key: RSA 0a:28:83:72:d7:7d:89:93:96:a1:1b:e2:f9:22:85:62 
debug1: read_passphrase: can't open /dev/tty: No such device or address
        Host key verification failed.

Источник проблемы: невозможно записать в know_host

pc_ubuntu_db=# SELECT command('ssh -v -o StrictHostKeyChecking=no -i admin@10.30.134.26 hostname');
debug1: Server host key: RSA 0a:28:83:72:d7:7d:89:93:96:a1:1b:e2:f9:22:85:62
Warning: Permanently added '10.30.134.26' (RSA) to the list of known hosts.
debug1: ssh_rsa_verify: signature correct
...
Transferred: sent 2672, received 2040 bytes, in 0.0 seconds
Bytes per second: sent 214358.6, received 163657.0
debug1: Exit status 0

Следующий вывод соединения:

debug1: Server host key: RSA 0a:28:83:72:d7:7d:89:93:96:a1:1b:e2:f9:22:85:62
debug1: Host '10.30.134.26' is known and matches the RSA host key.
debug1: Found key in /var/lib/postgresql/.ssh/known_hosts:3
debug1: ssh_rsa_verify: signature correct

успех !!!

0
27.01.2020, 19:48

, возможно, вы захотите использовать -3 параметр scp, он направляет трафик через ваш ноутбук.

т.е. [ПОЛЬЗОВАТЕЛЬ @ НОУТБУК ~] scp -3 root @ SERVER1: / PATH / TO / DIR root @ SERVER2: / PATH / TO / DIR

1
27.01.2020, 19:48

Теги

Похожие вопросы