SSH -с закрытым ключом запрашивает пароль

Комментарии предполагают, что ваша проблема уже решена, но вот несколько дополнительных советов для будущих читателей, которые могут столкнуться с той же проблемой.

Вы получили сообщения об ошибках

W:Imposible to get http://archive.ubuntu.com/ubuntu/dists/stable/main/binary-amd64/Packages  404  Not Found 
, W:Imposible to get http://archive.ubuntu.com/ubuntu/dists/stable/main/binary-i386/Packages  404  Not Found 
, E:It has been impossible to download some index files or have been ommited or have been used other olders.

и важной частью является http:​//archive.ubuntu.com/ubuntu/dists/stable/main/..., где часть, в которой у вас есть слово stable, должно быть одним из названий выпуска Ubuntu. Вы можете просмотреть http://archive.ubuntu.com/ubuntu/dists/для возможных вариантов, но в этом случае это, вероятно, должно быть trustyвместо stable.

Такие кодовые имена, как stableили unstable, используются Debian, но не Ubuntu. Я предполагаю, что вы случайно добавили несколько репозиториев Debian в свою систему Ubuntu (, что возможно, и в некоторых случаях вы могли бы даже захотеть это сделать, но тот факт, что вы не поняли приведенные выше сообщения об ошибках, предполагает, что вы не t имеют это намеренно ).

Репозитории, используемые системой, хранятся в файле /etc/apt/sources.listи внутри каталога /etc/apt/sources.list.d. Чтобы узнать, какой файл содержит неверное определение источника, вы можете сделать следующее в терминале:

grep -nri stable /etc/apt/sources.list.d /etc/apt/sources.list

Как только вы найдете файл и номер строки источника проблемного репозитория, вы можете либо исправить адрес репозитория, либо удалить/отключить репозиторий. Отключить репозиторий можно, добавив `#" в начале строки, которая примерно выглядит как

deb http://archive.canonical.com/ubuntu stable main

После отключения этого репозитория строка должна выглядеть так:

# deb http://archive.canonical.com/ubuntu stable main

После сохранения файла можно сделать

sudo apt-get update

без ошибок.

0
30.08.2018, 09:09
3 ответа

Вы не должны копировать закрытый ключ. Вам нужен id_rsa.pub, и обычно вы ставите это в ~02/.ssh/authorized_keys.

1
28.01.2020, 02:23

I copy the contents of 01's id_rsa (the private key) into a file called 01key in 02's machine.

Аутентификация по публичному ключу работает иначе. Вы должны скопировать публичный ключ пользователя 01 в

.
~user01/.ssh/authorized_keys

на сервере02. Это проще сделать с помощью команды:

ssh-copy-id user01@server02

I then ssh into 01 from 02...

Наоборот, с этой настройкой вы можете использовать ssh с server01 на server02 без пароля.

... with the following command: ssh -I 01key 01@10.9.8.11

Флаг -Iуказывает общую библиотеку PKCS #11. Вероятно, вы имели в виду -i, чтобы указать личность. Во всяком случае, это не нужно; просто сделай

ssh user01@server02
1
28.01.2020, 02:23

Чтобы скопировать открытый ключ на сервер, используйте:

ssh-copy-id user2@server

который скопирует (на текущий сервер):

/home/user1/.ssh/id_rsa.pub

в файл (на указанном сервере):

/home/user2/.ssh/authorized_keys

Это также можно сделать вручную, добавив открытый ключ:

cat /home/user1/.ssh/id_pub.rsa | ssh user2@server "cat >> /home/user2/.ssh/authorized_keys"

  • cat /home/user1/.ssh/id_pub.rsaпередает содержимое открытого ключа user1

  • ssh user2@server "[cmd]"выполнить указанную команду от имени пользователя2 на указанном сервере

  • cat >> /home/user2/.ssh/authorized_keysпринимает передаваемые данные и добавляет их в файл

1
28.01.2020, 02:23

Теги

Похожие вопросы