Вопрос или проблема
Я недавно обновил Ubuntu MATE с 21.04 до 22.04. У меня есть две виртуальные машины: одна с Centos 6.10, а другая с CentOS 7. После обновления Ubuntu у меня возникли проблемы с подключением с виртуальных машин к хосту, пока я не включил ключи ecdsa. Это решило проблему с ssh.
Но теперь у меня есть проблема с зависанием scp и rsync. rsync -v ничего не печатает, он просто зависает.
Я запускаю scp на виртуальной машине, передавая файлы на хост и обратно.
scp -vvv файла с хоста на виртуальную машину покажет длинный лог, который показывает, что он аутентифицировался и отправил команду scp на хост, а затем ничего, он просто зависает.
scp файла с виртуальной машины на хост работает.
Я прикрепил логи -vvv с обеих сторон.
Мне действительно нужна помощь, я занимаюсь этим уже два дня, используя Google и chatgpt, но не могу ничего сделать.
Спасибо, Колин
scp-client_to_host.log
scp-host-to-client.log
Ответ или решение
Колин,
Ситуация, с которой вы столкнулись, может быть вызвана различными факторами, особенно после выполнения обновления Ubuntu с версии 21.04 на 22.04. Давайте рассмотрим возможные причины проблемы, а также предложим шаги по диагностике и исправлению.
Возможные причины проблемы
-
Проблемы с конфигурацией SSH: После обновления, конфигурация SSH может быть изменена, что влияет на работу SCP и RSYNC. Возможно, некоторые параметры конфигурации могут блокировать определенные команды или алгоритмы аутентификации.
-
Разрешения и настройки брандмауэра: Следует проверить настройки брандмауэра как на хосте (Ubuntu 22.04), так и на виртуальных машинах (CentOS 6.10 и 7). Возможно, ваш брандмауэр блокирует определенные порты или протоколы, используемые SCP и RSYNC.
-
Проблемы с маршрутизацией и сетевыми интерфейсами: После обновления сетевые настройки могут быть изменены. Убедитесь, что маршрутизация настроена правильно, и что вы можете пинговать хост с виртуальных машин.
-
Драйверы и модули ядра: Может быть, что обновление Ubuntu привело к конфликтам с драйверами или модулями ядра, что может повлиять на работу сетевого стека.
-
Аутентификация и разрешения файлов: Убедитесь, что права доступа к файлам и директориям корректны, и что используемые пользователи имеют необходимые разрешения для выполнения копирования файлов.
Шаги по устранению неполадок
-
Просмотр конфигурации SSH: Проверьте файл конфигурации SSH
/etc/ssh/sshd_config
на хосте и убедитесь, что параметры, такие какAllowTCPForwarding
,PermitRootLogin
,PubkeyAuthentication
, иPasswordAuthentication
, корректно настроены. -
Загрузка логов SSH: Изучите файлы логов на хосте (обычно находятся в
/var/log/auth.log
или/var/log/secure
) для выявления ошибок аутентификации или других проблем. -
Тестирование соединения: Попробуйте использовать
ssh -vvv
для подключения к хосту из виртуальной машины, чтобы увидеть, где именно происходит зависание. После этого протестируйте соединение с помощьюtelnet <host> <port>
для проверки, доступен ли порт SSH (по умолчанию это 22). -
Проверка брандмауэра: Убедитесь, что правила брандмауэра настроены корректно и не блокируют ваши подключения. Используйте
ufw
илиiptables
для управления правилами. -
Проверка настроек сети: Убедитесь, что в виртуальных машинах правильно настроены IP-адреса и маски подсети, и что они могут обратиться к хосту по сети.
-
Файлы журнала SCP и RSYNC: Проанализируйте прикрепленные файлы журналов, чтобы найти возможные подсказки, указывающие на причину, по которой эти команды зависают.
-
Альтернативный метод копирования файлов: Если ничего не помогает, попробуйте использовать другие инструменты, такие как
sftp
, чтобы проверить, способно ли заменить SCP/RSYNC для копирования файлов.
Заключение
Ошибки при использовании SCP и RSYNC после обновления системы могут быть сложными и многофакторными. Ответьте на представленные рекомендации и шаги, чтобы выявить корень проблемы. Если у вас будут дополнительные вопросы или потребуется дальнейшая помощь, не стесняйтесь обращаться.
С уважением,
[Ваше Имя]
IT Эксперт