scp не сохраняет владельца.
На сервере B, не важно в какой каталог копирую. Всегда теряю владельца. Что я делаю не так?
Вот команда mount:
scp знать не знает ничего о владельцах и правах. Пользуй tar.
«f -» совершенно лишний 😉 если -f не указывать, то используется стандартный ввод или вывод в зависимости от операции )
Мне почему-то понятнее с ‘-‘, не знаю почему.
если -f не указывать, то используется стандартный ввод или вывод в зависимости от операции
Может в gnutar так оно и есть, а в других по-умолчанию tape
-p Preserves modification times, access times, and modes from the original file
Или понятие modes не включает владельца?
А, значит права таки умеет, не знал. Но тут только times/modes, owner/group то нет.
Вот это жесть. Спасибо! Я развидел это!
Вот это жесть. Спасибо! Я развидел это!
Кроме «Спасибо!» ничего не понял? Это такой сленг модный-молодежный?
в гнутаре вот как:
про другие не скажу.
А ты уверен что у него TAPE не определенна? Нет, зато безапелляционно заявил «f -» совершенно лишний
А ты уверен что у него TAPE не определенна?
у самого-то определена? 😉
Тебе это не известно ведь.
Спасибо! Я понял, что mode , это есть mode, и не имеет никакого отношения к владельцу. Никогда не знал до этого прежде, всегда считал, что scp умеет сохранять владельца, пока не столкнулся явно. У меня банально mysql не поднялся, с ошибками 13 (permission denied), после scp. Я прям удивлён, почему не может scp сохранять владельца — мне не понятно.
Не проще ли выставить права на каталог и решить задачу средствами ОС?
Помнится на Яндекс root была задачка:
«Как сделать так, чтобы все вновь созданные файлы в каталоге /opt принадлежали той же группе, что и сама папка /opt?»
Источник
Scp зависает
Недавно обнаружил, что оказывается моя система давно уже не бэкапится на удаленный сервер. Все из-за того что scp не копирует файлы между компьютерами. При этом если из компьютера B на комп A копируется без проблем, то при копировании с A на B пишет:
И копирование далее не идет. В принципе есть много в интеренте данных по этой проблеме, но в основном дело касается фаервола которого у меня нет и больших файлов, здесь же проблема возникает при любых размерах файлов. ssh работает без проблем. Месяц назад работало все, что могло измениться не представляю.
проблемы с сетью или с диском приемо-передающего устройства.
А банально место на разделе с хомяком не закончилось? Или квота, например?
Нет. с диском проблем нет.
Что может быть конкретней? Как определить?
А что в логах при LogLevel DEBUG? sftp нормально работает?
Что может быть конкретней? Как определить?
Что угодно. Смотреть логи, проверить качество сети iperf / ping / etc.
посмотри ошибки на интерфейсах — ifconfig
Сеть не локальная. Информация от А на которой проблемы к B передается через ssh forwarding (B за фаерволом). Копирование от B к A проходит нормально
sftp также не работает. Где вообще ssh хранит свои логи? В /var/log/message ничего не обычного нет
LogLevel DEBUG в /etc/ssh/sshd_config
scp -vvv также может оказаться полезным.
tcpdump на обоих концах
А чего rsync, например, не юзаете?
То есть от B к A идёт через NAT и нормально копируется. А в обратную сторону идёт через ssh forwarding на промежуточном сервере и возникает затык при копировании?
А по ssh вы пробовали большой объём данных, допустим, cat большой файл? И попробуйте scp на этот промежуточный сервер с ssh forwarding’ом.
Нет. Простите за плохое объяснение. B-NAT———-Internet——————A. B за натом, он конектится к A. От A к B доступ через ssh forwarding. Скопировать что либо с А на B не возможно. С B на A легко.
А по ssh вы пробовали большой объём данных, допустим, cat большой файл?
Попробовал. Также виснет. При этом не обязательно уж слишком большой.
Если и ssh под нагрузкой виснет, значит проблема не в scp. Хорошо бы посмотреть что происходит при этом на той машине, где включен ssh forwarding, может там процессор перегревается или память кончается.
Речь идет о файлах размером около 100 кб. Я не думаю что это большие нагрузки.
В общем временно проблема решена HPNDisabled yes и все заработало. Еще бы знать что значит это опция, а еще лучше почему ранее все работало без нее.
HPNDisabled это, видимо, отсюда:
И, как я понял, основное что они делают, это настраивают параметры tcp. Видимо, раньше на вашем линке были меньше потери пакетов, а теперь что-то поменялось (другое оборудование, загрузка канала, шейпинг у провайдера). Я не особо знаю тонкости tcp, но, вроде его можно так «настроить», что даже небольшие потери пакетов очень критичны.
И если уж очень хочется докопаться до истины, то нужно запускать tcpdump с обоих сторон линка, дампить все пакеты, смотреть какие параметры соединения tcp были согласованы в начале и какие пакеты теряются.
рандомные обрывы scp(именно такие, когда копирование тупо повисает, а не сбрасывается) на моей памяти были из-за:
1) кривая настройка MTU, при том, что Path MTU Discovery отключен или не может отработать; 2) особо упоротые железки-роутеры(но это скорее редкость)
Источник
scp не работает на arm машине.
А какого чорта путь относительный? Он же из хомяка пытается чего то запустить.
Поставил там /usr/sbin/dropbear, теперь ошибок нету, но и файл не появляется на целевой машине. Куда дальше копать ?
/usr/bin/scp куда-нибудь сбрось. Ссылку выложи.
В нем внутри просто путь вписан к /usr/sbin/dropbear Чет не то ? scp бинарный должен быть ?
devopsишь потихоньку, да?
В норм системах — да. У тебя — не обязательно. Выложи лучше, ванговать всё-равно не буду.
Чего то вроде совсем не то:
- /usr/sbin/dropbear — вроде как сервер (деталей не знаю).
- /usr/bin/dbclient — воде как клиент.
Ну и соответственно вопрос: Что за хз?
Ну видимо надо scp кросс-компилить, этот с какой-то машины копирнул, а там оказался не бинарь) Не подкинешь инструкцию как по быстрому собрать его для арм ? Кросс-тулз нашел линаро.
как по быстрому собрать его для арм ?
Зачем? У тебя же есть dropbear? Не настроен конечно, но есть. Полазь по нету, настрой и пользуй (причём напрямую).
Хорошая идея, я через dropbear туда коннект делаю по 22 порту, а как настроить. Я могу прописать команды какие-нибудь в scp тот файл к dropbear.
Я могу прописать команды какие-нибудь в scp тот файл к dropbear.
Как хочешь. Но в нэте пишут «слегка» по-другому.
Тег добавь: dropbear — и убери scp .
А как пишут, дай ссылку. Я нахожу всякие инструкции вроде этой https://radjik.livejournal.com/155780.html где предлагают чет еще ставить.
Ну а теперь погуляй по «тегу» то.
ssh работает, могу через cat тупо копировать, но он весь на умещается в консоли.
Можно скопировать через ssh.
ssh -C user@host cat /tmp/_trace.log > /tmp/newlog.log
Если лог большой то можно и поджать немного
Источник
scp не сохраняет владельца.
На сервере B, не важно в какой каталог копирую. Всегда теряю владельца. Что я делаю не так?
Вот команда mount:
scp знать не знает ничего о владельцах и правах. Пользуй tar.
«f -» совершенно лишний 😉 если -f не указывать, то используется стандартный ввод или вывод в зависимости от операции )
Мне почему-то понятнее с ‘-‘, не знаю почему.
если -f не указывать, то используется стандартный ввод или вывод в зависимости от операции
Может в gnutar так оно и есть, а в других по-умолчанию tape
-p Preserves modification times, access times, and modes from the original file
Или понятие modes не включает владельца?
А, значит права таки умеет, не знал. Но тут только times/modes, owner/group то нет.
Вот это жесть. Спасибо! Я развидел это!
Вот это жесть. Спасибо! Я развидел это!
Кроме «Спасибо!» ничего не понял? Это такой сленг модный-молодежный?
в гнутаре вот как:
про другие не скажу.
А ты уверен что у него TAPE не определенна? Нет, зато безапелляционно заявил «f -» совершенно лишний
А ты уверен что у него TAPE не определенна?
у самого-то определена? 😉
Тебе это не известно ведь.
Спасибо! Я понял, что mode , это есть mode, и не имеет никакого отношения к владельцу. Никогда не знал до этого прежде, всегда считал, что scp умеет сохранять владельца, пока не столкнулся явно. У меня банально mysql не поднялся, с ошибками 13 (permission denied), после scp. Я прям удивлён, почему не может scp сохранять владельца — мне не понятно.
Не проще ли выставить права на каталог и решить задачу средствами ОС?
Помнится на Яндекс root была задачка:
«Как сделать так, чтобы все вновь созданные файлы в каталоге /opt принадлежали той же группе, что и сама папка /opt?»
Источник
Помогите с scp
Не работает scp. Почитал гайды, подключился по ssh, написал такую команду чтобы скопировать папку к себе на комп в home
Сделал так как в гайдах пишут, удалённый комп — путь — через пробел куда скопировать на своей пекарне. А оно не работает, пишет
чтобы скопировать папку к себе на комп в home
У тебя home это не /home, а /home/username, просто /home защищён от записи.
У меня юзернеймы на двух компах одинаковы, если пишу с юзернеймом, то оно на свой же комп копирует.
Вторая команда тоже себе же копирует
Ну то есть ты пытаешься создать каталог Learn в каталоге /home, а потом удивляешься ВНЕЗАПНО получившемуся пути /home/Learn.
Я хочу скопироваь каталог Learn к себе в home. Напиши команду как правильно.
Вот здесь правильно.
твой твой хомяк находится не в /home, а в /home/trolzor, который можно записать как
Здесь оно копирует на свой же комп.
Ты, небось, scp на удалённой машине выполняешь? Ты на «своей пекарне» это выполняй.
Нет такого файла или каталога
Найми специалиста тогда, который поможет тебе разобраться.
scp — это команда копирования файлов через ssh.
Как в каждой командой копирования в первым параметров указывается путь источника, а вторым — назначения.
Почитал гайды, подключился по ssh, написал такую команду чтобы скопировать папку к себе на комп в home
Зачем ты подключился по ssh?
Что бы скопировать через scp на свой компьютер с удалённого некоторый файл или директорию.
Нужно всего-лишь не подключаясь по ssh, а просто в командной строке компьютера на который ты хочешь скопировать с удалённого файлы / директории набрать команду в формате:
Т.е. тебе нужно не подключаясь по ssh набрать:
Если ты выполняешь эту же команду предварительно подключившись по ssh на компьютер 192.168.0.101, то у тебя и получается, что ты через ssh с компьютера 192.168.0.101 копируешь на компьютер 192.168.0.101.
Источник