Чтобы получить идентичную настройку между машинами с одинаковым оборудованием, я клонировал диск с одного на другой, затем выполнил конфигурацию IP и имени хоста, чтобы различать две машины Linux. Вроде все работает нормально, кроме scp. (NFS и даже ssh между машинами работают нормально)
Глядя на результаты scp -v, кажется, что он правильно аутентифицируется, но затем копирует 0 байтов. Есть ли способ исправить это? Будет ли работать создание новых ключей ssh для машины? Если да, то как мне это сделать? (Клавиши машинного уровня, а не клавиши пользовательского уровня)
Вы можете повторно сгенерировать новые ключи ssh хоста, используя следующую команду:
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
Если вы используете OSX, то на самом деле это / etc / ssh_host_dsa_key. Кроме того, вы можете заменить dsa на rsa, если хотите.
Вероятно, у вас есть запись в / etc / hosts это заставляет клонированную машину думать, что она оригинальная.
И если это виртуальные машиныубедитесь, что их виртуальные сетевые карты имеют разные MAC-адреса.
Я подозреваю, что у места назначения есть какие-то проблемы, такие как файловая система только для чтения, поврежденная файловая система, отсутствие sftp, отсутствие каталога и т. д.
но в любом случае я рекомендую вам обойти scp и использовать rsync, он намного умнее, чем scp.
rsync -avx file_or_dir destination_host:somedir/
он будет копировать файлы, каталоги, рекурсивно, с возобновлением и все внутри ssh-соединения, точно так же, как scp. конечно, у вас должен быть установлен rsync с обеих сторон.
варианты "avx":