как я могу хранить ключи ssh без домашнего каталога?

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

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

Дистрибутивы, ориентированные на рабочий стол -, такие как Ubuntu, могут уже обрабатывать информацию об оборудовании в своих установщиках ОС и/или инструментах управления пакетами, поэтому менеджер пакетов может предлагать отсутствующие пакеты драйверов. К сожалению, Debian еще не настолько автоматизирован.

Кроме того, к сожалению, драйверы дисплея, как правило, являются наиболее значительным исключением из этого :современные графические процессоры могут зависеть от проприетарных драйверов, чтобы получить от них полную производительность, так как разработка драйверов с открытым -исходным кодом часто зависит от обратного инжиниринг, который требует времени.Но некоторые люди могут хотеть или даже нуждаться в использовании драйверов с открытым исходным кодом -даже за счет снижения производительности, поэтому Debian (как активный сторонник открытого )имеет тенденцию по умолчанию открывать -исходные драйверы, когда это возможно. Ubuntu, с другой стороны, будет стремиться к максимальной функциональности, когда это возможно, даже если для этого требуются проприетарные драйверы.

Тем не менее, дистрибутивы могут включать в себя проприетарные драйверы. Для NVidia Geforce GTX 1050 Mobile на Debian 10 вам нужно убедиться, что часть non-freeрепозитория Debian включена, и установить пакет nvidia-graphics-driversи его зависимости. Если версия кажется слишком старой, репозиторий бэкпортов может иметь более новые версии, доступные раньше, чем они будут включены в основной дистрибутив. Если это слишком устарело для вас, вам придется получить драйвер Edge -непосредственно от NVidia.

Для общей проверки вы, кажется, уже обнаружили, чтоlspci:добавьте опцию -v, и она укажет, какой драйвер использует каждое устройство PCI (e ). Если вы обнаружите устройство без связанного с ним драйвера, возможно, вы что-то упускаете -или устройство может быть «дальним» концом устройства моста PCI, на которое распространяется pcieportили аналогичный драйвер на « близок конец.

Для USB-устройств драйверы пользовательского пространства используются гораздо чаще. Но вы все равно можете просмотреть список lsusbи спросить себя на каждом устройстве :: «Удовлетворяет ли меня работа этого устройства?» Если ответ «да», вам не нужно обновление, если только это не сделано из соображений безопасности -и если вы ограничитесь пакетами, предлагаемыми вашим дистрибутивом, и любыми совместимыми репозиториями пакетов, ваш менеджер пакетов автоматически узнает об обновлениях..

Для новых моделей ноутбуков вам следует ввести в Google ключевые слова «linux» и модель ноутбука, желательно до того, как вы действительно купите рассматриваемый ноутбук ,и ищите людей, пишущих обзоры или пишущих в блогах об их установке Linux, а также о любых возможных обходных путях и экспериментальных драйверах, которые нужны конкретной модели для полной функциональности. Вы даже можете найти несколько из них и сравнить их предложения для проверки работоспособности.

По моему мнению, это, как правило, более надежнее, чем полагаться на таинственный сторонний -веб-сайт, который утверждает, что содержит все ответы :, даже если некоторые из таких сайтов могут быть хорошими теперь , они могут незаметно обанкротиться и быть проданными, или их доменное имя будет захвачено распространителем вредоносного ПО, а вы даже не подозреваете. Единственным исключением может быть случай, когда поставщик оборудования предлагает информацию о поддержке Linux для своего оборудования :, тогда он явно заинтересован в том, чтобы его информация была одновременно полной и качественной.

2
26.11.2020, 11:42
1 ответ

Сообщение Could not create directory '/home/test3/.ssh'.является предупреждением, а не ошибкой. Вы можете хранить свои ключи sshв любом безопасном месте, но по умолчанию это будет ваш домашний каталог.

Пример, где у локального пользователя test3нет домашнего каталога, а у пользователя test4@otherhostесть домашний каталог. Начните с локального входа в систему как пользователь test3:

Создать «безопасный» каталог и сгенерировать пару сертификатов

mkdir -m700 /tmp/ssh
ssh-keygen -t rsa -f /tmp/ssh/id_rsa
Generating public/private rsa key pair.
...
Your public key has been saved in /tmp/ssh/id_rsa.pub.
...

Попытка скопировать его в место назначения

ssh-copy-id -i /tmp/ssh/id_rsa.pub test4@otherhost
/usr/bin/ssh-copy-id: 59: cd: can't cd to /home/test3
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/tmp/ssh/id_rsa.pub"
The authenticity of host 'otherhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:pqNd/9gP69W2hzcosj+GI2DY2uw3+Upvvg22KV8sq5A.
Are you sure you want to continue connecting (yes/no)? yes
mktemp: failed to create file via template ‘/home/test3/.ssh/ssh-copy-id_id.XXXXXXXXXX’: No such file or directory
/usr/bin/ssh-copy-id: ERROR: mktemp failed

Обратите внимание, что в этот момент установка не удалась , поэтому нам нужно вернуться к аналогичному ручному процессу. Мы также поместим файл known_hostsв надежное место, чтобы sshперестали жаловаться при каждом использовании

.
ssh -o UserKnownHostsFile=/tmp/ssh/known_hosts test@otherhost 'mkdir -m700 -p.ssh && cat >>.ssh/authorized_keys' </tmp/ssh/id_rsa.pub
Could not create directory '/home/test3/.ssh'.
The authenticity of host 'otherhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:pqNd/9gP69W2hzcosj+GI2DY2uw3+Upvvg22KV8sq5A.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'otherhost' (ECDSA) to the list of known hosts.
Password:

Здесь много предупреждений, но в основном процесс работал, и ключ теперь находится в файле authorized_keysудаленной учетной записи. Давай проверим

ssh -o UserKnownHostsFile=/tmp/ssh/known_hosts -i /tmp/ssh/id_rsa test4@otherhost date
Could not create directory '/home/test3/.ssh'.
Thu 26 Nov 10:16:23 GMT 2020

Мы получили от удаленного хоста строку даты, поэтому можем продемонстрировать, что все работает.

Предупреждение :каждый раз, когда вы используете sshвы должны явно определить файл known_hosts, а также секрет id_rsa

ssh -o UserKnownHostsFile=/tmp/ssh/known_hosts -i /tmp/ssh/id_rsa...
3
18.03.2021, 22:47

Теги

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