Вам никогда не нужно копировать весь каталог ~/.ssh
, только содержимое общедоступной части вашего ключа (s ). Если включена аутентификация по паролю, проще всего будет
user@darkstar ~ $ ssh-copy-id remoteusername@remotehostname
И пусть ssh позаботится о том, чтобы все было в нужном месте.
Если вам нужно сделать это вручную, или если у вас нет аутентификации по паролю, и вы должны попросить системного администратора установить ключ на место и т. д., тогда вам нужно скопировать файл ~/.ssh/id_rsa.pub
. Как только это будет на удаленной машине, просто добавьте содержимое к тому, что уже есть в файле ~/.ssh/authorized_keys
под соответствующей учетной записью пользователя. Простой cat id_rsa.pub >> ~/.ssh/authorized_keys
будет работать.
Наконец, вы хотите убедиться, что разрешения на закрытый ключ, файл authorized_keys
и каталоги ~/.ssh
на обеих машинах установлены надлежащим образом -каталог ~/.ssh
должен быть установлен на 0700, а файлы внутри него должно быть 600.
Чтобы устранить проблему , войдите на удаленный компьютер, переименуйте существующий каталог ~/.ssh
во что-то другое, повторно -создайте его и правильно установите разрешения, выйдите из системы и используйте ssh-copy-id
из над. В таком случае,вы должны иметь возможность ssh, используя свой ключ и любую парольную фразу, связанную с ним.
Изменить для обновленного вопроса Я думаю, вам не хватает концепции пары ключей. Подумайте о дверных замках домов -, чтобы один ключ мог открыть их все, у них внутри должна быть одна и та же комбинация штифтов.
Файл id _rsa.pub для любой заданной комбинации помещается в авторизованный файл ключей _на удаленной машине. Чтобы этот ключ работал, у вас должен быть соответствующий закрытый ключ на машине, с которой вы подключаетесь. Вы можете иметь дело с несколькими ключами, разместив их в разных файлах и используя опцию -i
для ssh (и др. ), чтобы указать, к какому закрытому ключу подключаться.
Итак, используя вашу информацию, вам нужно получить файл закрытого ключа с ноутбука (возможно~/.ssh/id_rsa
)и поместить его на сервер B, назвав его как-то так~/.ssh/laptop_id_rsa
). Когда вы используете ssh с сервера B на сервер A, вы можете использовать ssh -i ~/.ssh/laptop_id_rsa user@serverA
. Если вы хотите подключиться по ssh от A к B, повторите процесс, поместив закрытый ключ на A. В качестве альтернативы вы можете использовать сервер B в качестве хоста / туннеля для перехода, поэтому, как только вы подключитесь к нему с правильными параметрами, вы можете затем с вашего ноутбука ssh напрямую к Сервер А. Это хранит ваш файл закрытого ключа только на вашем ноутбуке (хорошо для безопасности, вы не хотите, чтобы копии ходили повсюду, особенно с ключом без пароля!)
Вы также, вероятно, захотите настроить файл ~/.ssh/config
, чтобы вы могли просто выполнить ssh serverA
и использовать соответствующее имя хоста, порт, имя пользователя, идентификационный файл и т. д.
Скажи мне, если это работает (не будет быстро):
find /home/user -type f -name "*.pdf" -exec md5sum {} + 2> /dev/null | uniq -f2 -D
Вы можете использовать fdupes
для поиска дубликатов файлов в разных каталогах. По умолчанию дубликаты файлов отображаются в виде блоков, разделенных пустой строкой.
Если оба файла находятся в одном каталогеdir1
:
fdupes dir1
Для рекурсивного поиска добавьте опцию -r
/ --recurse
:
fdupes -r dir1
Вы можете выполнять поиск в нескольких каталогах и устанавливать параметр рекурсии для определенных каталогов:
fdupes dir1 dir2 --recurse: dir3
rmlint -r
rmlint — чрезвычайно быстрый инструмент для поиска дубликатов и, при желании, их удаления.
Этот учебник поможет и направит вас мягко;)
fdupes
звучит довольно умно, но он сопоставляет все файлы вместе. Вы могли бы использовать пару тех же методов более оптимально, если у вас уже есть один файл, который вы хотите сопоставить.
Вы можете начать с получения размера файла foo.pdf
и создания команды find
, которая соответствует только точному размеру. Это должен быть дешевый шорт-лист.
Затем вы можете вырезать первые несколько байтов (на несколько сотен )из каждого из этих файлов и сравнить эти байты с cmp -s
. Это должно устранить еще несколько.
Для файлов, которые все еще являются возможными дубликатами, вы можете cksum
или md5sum
их.
Вероятно, вы захотите проверить, что номера инодов отличаются от исходных, на случай, если вы найдете -копию с жесткой ссылкой.