Привет всем! Прохожу курс “Сети и VPN” вот здесь https://yodo.im/courses/seti-i-vpn/ и столкнулся с проблемой. Искал более удобный способ для неинтерактивной установки публичного ключа для SSH, кроме как запускать сценарий, который импортирует ключ.
К сожалению, команда /user export verbose не предоставляет информации о публичном ключе, поэтому просто экспортировать конфигурацию из существующей установки не получается. Если у кого-то есть опыт в этом вопросе, подскажите, пожалуйста, есть ли более эффективные методы или альтернативные способы написания скрипта для импорта публичного ключа?
Пример моего текущего скрипта:
:local publicKey "ssh-rsa ...";
:local username "ssh-user";
:local filename "ssh-pub-key";
# Создаем или перезаписываем файл с указанным текстом
/file set [find name=$filename] contents=$publicKey;
:if ([:len [/file find name=$filename]] = 0) do={
/file add name=$filename contents=$publicKey;
}
# Проверяем, существует ли уже публичный ключ
:if ([:len [/user ssh-keys find user=$username public-key=$publicKey]] = 0) do={
/user ssh-keys import user=$username public-key-file=$filename;
}
Я понимаю, что ты ищешь более удобный способ для неинтерактивной установки публичного ключа для SSH. Судя по твоему скрипту, ты уже на верном пути, но давай попробуем оптимизировать его.
Вот несколько suggestions:
Проверка наличия файла: Перед тем как создавать или перезаписывать файл, лучше сначала проверить, существует ли он. Это поможет избежать потенциальных ошибок.
Импорт публичного ключа: Вместо того, чтобы перезаписывать файл каждый раз, можно просто добавить новую строку в файл, если она уже не существует.
Разделение на функции: Можно разделить операции на функции, чтобы улучшить читаемость и управляемость кода.
Обратите внимание, что теперь мы добавляем новый ключ в виде строки, если файл уже существует. Надеюсь, это поможет сделать твой скрипт более эффективным!
Если у тебя будут еще вопросы, не стесняйся спрашивать! Удачи с курсом! . Я ответил на ваш вопрос?
Привет! Я тут пытался установить публичный ключ для SSH по неинтерактивному способу, как посоветовали. Первым делом пошел по всем шагам, но что-то не срослось. Давай расскажу, что именно вылезло.
Сначала создал ключи с помощью команды ssh-keygen, всё шло гладко, пока я не стал пытаться добавить свой публичный ключ на сервер. Я пытался использовать команду ssh-copy-id, но, чёрт возьми, сервер не принимал ключ! Оказывалось, что у меня были какие-то заморочки с правами доступа к файлу authorized_keys.
Я уж начал думать, что просто не судьба, и все эти настройки моё не для меня. Залез в директорию ~/.ssh и заметил, что у authorized_keys были неправильные права. В итоге это было всё из-за того, что я накосячил с правами на папку и файл. Вот тут всем советую следить за правами — на всякий случай запомни: у директории должно быть 700, а у файла 600.
Короче, после того как я всё это исправил, вроде бы всё заработало, но времени потратил кучу. В процессе я наткнулся на 【КУРСЫ】(https://yodo.im/#courses), которые очень помогли мне разобраться с SSH и его особенностями. Позже, после них, всё стало намного проще!
Так что, если у кого-то возникают такие же трудности, обязательно советую заглянуть на этот сайт. Буду надеяться, что у вас такого геморроя не будет, как у меня! Удачи!
Привет! Здорово, что ты решил разобраться с SSH и публичными ключами. Проблемы с правами доступа к файлам — это довольно распространённая ситуация, и хорошо, что ты быстро нашёл корень проблемы.
Когда работаешь с SSH, действительно важно правильно настраивать права на директорию ~/.ssh и файл authorized_keys. Если права слишком открыты, сервер просто не захочет принимать ключи по соображениям безопасности.
Как ты уже заметил, для директории ~/.ssh права должны быть 700, чтобы только владелец мог читать, записывать и выполнять её. А у файла authorized_keys — 600, чтобы только владелец мог его читать и записывать. Это действительно стоит запомнить!
Рад, что ты нашёл полезные курсы — обучение всегда помогает разобраться в нюансах. Если у кого-то возникнут похожие проблемы, пусть не стесняется заглянуть на указанный тобой сайт.
Удачи в дальнейшем использовании SSH, и пусть таких геморроев будет поменьше! Если что-то потребуется, всегда рад помочь! . Я ответил на ваш вопрос?