Если вы хотите настроить аутентификацию на основе ключа на удаленном сервере, вам необходимо добавить на него свой ключ.
Вы можете сделать это, используя ssh-copy-id
, который доступен в большинстве дистрибутивов со следующим синтаксисом:
ssh-copy-id remote_user@remote_server
Примечание. :Вам нужно знать пароль пользователя remote_user
, чтобы завершить это.
Затем он найдет ваш файл id_rsa.pub
и добавит его в файл authorized_keys
удаленного сервера.
Если вы сохранили свой ключ не в id_rsa.pub
, вы можете указать это местоположение, используя:
ssh-copy-id -i /path/to/custom_key.pub remote_user@remote_server
В противном случае вы можете войти в remote_server
с помощью других средств (пароль логин )и вручную добавить содержимое вашего открытого ключа в файл authorized_keys
.
Этот файл находится в ~/.ssh/authorized_keys
.
Вы можете использовать следующую команду, чтобы выполнить это снова с вашего ubuntu vm (, если у вас есть пароль remote_user
:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Многие облачные провайдеры требуют, чтобы вы загрузили ключ в свою учетную запись на их веб-портале, чтобы он был добавлен в авторизованный файл ключей _машины. Они часто блокируют другие методы внесения этого изменения.
В случае с Digital Ocean вы должны следовать инструкциям здесь .
Не удаляйте другие файлы репозитория. Просто убедитесь, что каждая запись /etc/yum.repos.d/*
, которую вы больше не хотите использовать, имеет строку enabled=0
. Затем вы добавляете записи, как вы уже делали. Мой пример такого файла репо выглядит так:
[c8-disk-BaseOS]
name=CentOS-BaseOS- - Media
baseurl=file:///CentOS/BaseOS
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[c8-media-AppStream]
name=CentOS-AppStream- - Media
baseurl=file:///CentOS/AppStream
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
А вот пример отключенной записи по умолчанию:
# CentOS-AppStream.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[AppStream]
name=CentOS-$releasever - AppStream
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Я делаю это очень часто, потому что у меня есть компьютеры с CentOS в изолированной среде без доступа к Интернету. Таким образом, я храню копию установочного носителя на диске и могу установить все, что есть на этом носителе.
redhat.repo
управляется subscription-manager
. Если вы не хотите подписываться, запустите subscription-manager remove
и subscription-manager unregister
.