Я ответил на этот подобный вопрос на Переполнении стека. Это - то, как я обновляю офлайновые машины.
Я раньше работал над классифицированными системами DOE, которые никогда не могли касаться общедоступного Интернета. Существует очень простой способ сделать это, как упомянуто. Просто используйте ISO в качестве repo, и чтобы мой пример работал, это должен быть образ DVD. (Путь вокруг того диска {1,2,3} использования состоит в том, чтобы скопировать файлы с каждого диска на локальный диск или устройство хранения),
Необходимо будет установить createrepo, который для меня включил две зависимости.
createrepo
deltarpm
python-deltarpm
mkdir -p /mnt/iso/rhel54
mount -o loop /path/to/rhel5.4.iso /mnt/iso/rhel54
cd /mnt/iso
createrepo .
It will look like this: [root@hostname iso]# createrepo .
44/20586 - rhel54/HighAvailability/Packages/PyQt4-4.6.2-8.el6.x86_64.rpm
Create /etc/yum.repos.d/shane.repo and add
[shane-repo]
baseurl=file:///mnt/iso/
enabled=1
gpgcheck=0
Then run yum update
su -c "chown david: david ~ david / .ssh / authorized_keys "
на этом этапе вас спросят пароль для root и, надеюсь, вы знаете пароль root для этой машины. В противном случае вам придется взобраться на крутой холм, из-за отсутствия sudo.
Похоже, у вас нет прав на изменение владельца этого файла. Я предполагаю, что из какой бы файловой системы вы ни перенесли файл, у нее есть разные привилегии, которые не были переданы правильно, и в итоге просто получили документ для root. Попробуйте снова ту же команду chown с sudo
(например, sudo chown -R david: david /path/to/.ssh
). При использовании команды с sudo
рекомендуется использовать абсолютный путь (например, /home/david/.ssh
) вместо относительного пути ( ./ .ssh
).
Для моего случая:
Я попробовал
lsattr author_keys
, и в результате
-----a-------e--authorized_keys
.
Здесь a означает только добавление.
Используйте chattr -a author_keys
, чтобы удалить a и сделать его нормальным.
A.D.2020 - У меня была аналогичная проблема с изменением разрешений и прав собственности на .ssh Я не мог вставить свой ключ rsa в github.
С небольшой помощью предыдущих ответов я разобрал это:
sudo chown -R user:user .ssh | chmod 700 .ssh | chmod 600 /home/user/.ssh/id_rsa.pub
После этого:
~ / .ssh -ls -la
git push -u origin master
и это работает :)