LXF155:Задавать ключи SSH
Olkol (обсуждение | вклад) (Новая страница: «Категория: Учебники '''Шифрование ключей OpenSSH: Как легко войти ''' '''Hardcore Linux Провер…») |
Olkol (обсуждение | вклад) (→Создание ключа) |
||
(не показаны 8 промежуточных версий 1 участника) | |||
Строка 10: | Строка 10: | ||
''Запуск скриптов через SSH-соединение может иметь свои закавыки. Маянк Шарма демонстрирует, как их перехитрить.'' | ''Запуск скриптов через SSH-соединение может иметь свои закавыки. Маянк Шарма демонстрирует, как их перехитрить.'' | ||
− | [[Файл: | + | [[Файл:LXF154.84.1.png| left |thumb|300px|]] |
[[Файл: LXF155.tut_adv.add_key_opt.jpeg| |thumb|400px|Создавать ключи и управлять ими умеет еще и Seahorse.]] | [[Файл: LXF155.tut_adv.add_key_opt.jpeg| |thumb|400px|Создавать ключи и управлять ими умеет еще и Seahorse.]] | ||
Строка 21: | Строка 21: | ||
И здесь кроется большая проблема. Вы подключаетесь к удаленному компьютеру только после ручного ввода пароля. | И здесь кроется большая проблема. Вы подключаетесь к удаленному компьютеру только после ручного ввода пароля. | ||
− | Большая проблема | + | ==Большая проблема== |
Предположим, на локальном компьютере у вас есть задание cron, ежечасно запускающее скрипт, который копирует с удаленного сервера пару файлов. И при каждой попытке скрипта связаться с удаленным компьютером у него запросят пароль. Это исключает использование SSH для задач, которые должны выполняться без вашего участия. Или нет? | Предположим, на локальном компьютере у вас есть задание cron, ежечасно запускающее скрипт, который копирует с удаленного сервера пару файлов. И при каждой попытке скрипта связаться с удаленным компьютером у него запросят пароль. Это исключает использование SSH для задач, которые должны выполняться без вашего участия. Или нет? | ||
Строка 29: | Строка 29: | ||
Вдобавок SSH не слишком хорошо масштабируется. Если у вас несколько учетных записей на разных компьютерах сети, запомнить уникальные сложные пароли для каждого из них будет невозможно. | Вдобавок SSH не слишком хорошо масштабируется. Если у вас несколько учетных записей на разных компьютерах сети, запомнить уникальные сложные пароли для каждого из них будет невозможно. | ||
− | Ключ к решению проблемы | + | ==Ключ к решению проблемы== |
Для решения этой проблемы нужно изменить используемый по умолчанию механизм аутентификации. В OpenSSH есть различные механизмы аутентификации, и один из них основан на ключах, а не на паролях. К тому же он самый надежный. По умолчанию OpenSSH использует ключи для аутентификации подлинности сервера в первый раз при подключении клиента к новому удаленному компьютеру: | Для решения этой проблемы нужно изменить используемый по умолчанию механизм аутентификации. В OpenSSH есть различные механизмы аутентификации, и один из них основан на ключах, а не на паролях. К тому же он самый надежный. По умолчанию OpenSSH использует ключи для аутентификации подлинности сервера в первый раз при подключении клиента к новому удаленному компьютеру: | ||
Строка 49: | Строка 49: | ||
Закрытый ключ доступен только вам и используется клиентом OpenSSH для подтверждения вашей подлинности серверам. Также есть открытый ключ, который, в соответствии со своим названием, находится в открытом доступе. Вы должны разместить его на всех своих учетных записях на удаленных компьютерах, к которым намерены подключаться по SSH. | Закрытый ключ доступен только вам и используется клиентом OpenSSH для подтверждения вашей подлинности серверам. Также есть открытый ключ, который, в соответствии со своим названием, находится в открытом доступе. Вы должны разместить его на всех своих учетных записях на удаленных компьютерах, к которым намерены подключаться по SSH. | ||
− | Создание ключа | + | ==Создание ключа== |
При установке соединения с помощью ключей компьютеры общаются друг с другом не так, как при аутентификации по паролю. При подключении к удаленному компьютеру вашего клиента удаленный компьютер создает запрос с помощью вашего открытого ключа. Клиент принимает запрос и отвечает на него на основе вашего закрытого ключа. | При установке соединения с помощью ключей компьютеры общаются друг с другом не так, как при аутентификации по паролю. При подключении к удаленному компьютеру вашего клиента удаленный компьютер создает запрос с помощью вашего открытого ключа. Клиент принимает запрос и отвечает на него на основе вашего закрытого ключа. | ||
− | + | [[Файл:LXF155.tut_adv.public__opt3.jpg | |thumb|600px|Одно из главных достоинств аутентификации с помощью ключей — то, что парольная фраза ключа SSH не передается через Интернет, в отличие от пароля.]] | |
OpenSSH может создавать ключи по алгоритмам RSA (Rivest-Shamir-Adleman) и DSA (Digital Signature Algorithm). Можете использовать любой – надежны оба. По умолчанию OpenSSH использует RSA, более новый из двух. Для создания ключа введите на клиенте следующее: | OpenSSH может создавать ключи по алгоритмам RSA (Rivest-Shamir-Adleman) и DSA (Digital Signature Algorithm). Можете использовать любой – надежны оба. По умолчанию OpenSSH использует RSA, более новый из двух. Для создания ключа введите на клиенте следующее: | ||
Строка 76: | Строка 76: | ||
Ключи лучше хранить в каталоге по умолчанию, если нет веских причин хранить их в другом месте. Также обязательно задайте парольную фразу. | Ключи лучше хранить в каталоге по умолчанию, если нет веских причин хранить их в другом месте. Также обязательно задайте парольную фразу. | ||
+ | {{Врезка|right|Заголовок= Скорая помощь|Ширина=15%|Содержание= Если ваш SSH-сервер виден в Интернет, обязательно пользуйтесь аутентификацией с помощью ключей вместо использования пароля.}} | ||
Затем ssh-keygen создаст локальный каталог SSH (~/.ssh), если его нет, и сохранит закрытую и открытую части ключа в двух файлах в этом каталоге. По умолчанию это файлы с именами id_rsa и id_rsa.pub. Файл id_rsa доступен для чтения только вашему пользователю, а его содержимое дополнительно защищено путем шифрования с парольной фразой, заданной вами при генерации ключа. | Затем ssh-keygen создаст локальный каталог SSH (~/.ssh), если его нет, и сохранит закрытую и открытую части ключа в двух файлах в этом каталоге. По умолчанию это файлы с именами id_rsa и id_rsa.pub. Файл id_rsa доступен для чтения только вашему пользователю, а его содержимое дополнительно защищено путем шифрования с парольной фразой, заданной вами при генерации ключа. | ||
+ | |||
+ | {{Врезка|left|Заголовок= Проблемы безопасности с агентами ключей|Ширина=98%|Содержание=Если вы хотите управлять несколькими компьютерами и выполнять на них какие-то операции, не требующие участия пользователя, очень удобны агенты ключей SSH и перенаправление агентов. Но они создают риски для безопасности системы, особенно если не гарантирована безопасность локального клиента. | ||
+ | |||
+ | Для подключения клиентов к SSH-агенту OpenSSH предоставляет доменный сокет UNIX, доступный только из локальной файловой системы. Хотя этот сокет надежно защищен и доступ к нему есть только у пользователя, от имени которого выполняется процесс, ничто не помешать воспользоваться им от имени root. | ||
+ | |||
+ | Простая команда | ||
+ | |||
+ | ls -l /tmp/ssh* | ||
+ | |||
+ | выведет список всех сокетов SSH-агентов для всех пользователей. Овладев этим сокетом, root сможет притвориться этим пользователем и войти на удаленный компьютер без ввода ключевой фразы! | ||
+ | |||
+ | Командой | ||
+ | |||
+ | export SSH_AUTH_SOCK=<location of socket> | ||
+ | |||
+ | злоумышленник устанавливает единственную переменную окружения, необходимую для перенаправления агентов. Теперь он может найти удаленный компьютер, на который входят через этот сокет (командой ps или просмотром файла пользователя known_hosts), и зайти на этот компьютер через SSH, выдавая себя за пользователя, чьего агента он скомпрометировал. | ||
+ | |||
+ | Поэтому важно отключать перенаправление агентов, если вы им не пользуетесь. Также стоит заходить по SSH под удаленным пользователем с ограниченными правами. Просто убедитесь, что удаленный пользователь принадлежит группе wheel, и вы можете стать пользователем root. }} | ||
Следующий шаг – скопировать открытый ключ на удаленный сервер. Если вы заходите на удаленный сервер server2.remote.com как пользователь ‘admin’, можете переместить ключи одной командой: | Следующий шаг – скопировать открытый ключ на удаленный сервер. Если вы заходите на удаленный сервер server2.remote.com как пользователь ‘admin’, можете переместить ключи одной командой: | ||
Строка 90: | Строка 109: | ||
и загляните в файл ~/.ssh/authorized_keys, чтобы убедиться, что мы не добавили лишних ключей. | и загляните в файл ~/.ssh/authorized_keys, чтобы убедиться, что мы не добавили лишних ключей. | ||
− | + | {{Врезка|left|Заголовок= Скорая помощь|Ширина=15%|Содержание=Советуем задавать парольную фразу длиной не менее 15 символов, с пробелами и спецсимволами. Желательно, чтобы она не была грамматическим предложением. }} | |
У вас запросят парольную фразу для закрытого ключа. Затем открытый ключ автоматически переместится в соответствующее место на удаленном сервере. Если администратор удаленного сервера не изменял настройки OpenSSH, ваш ключ будет добавлен в файл ~/.ssh/authorized_keys. | У вас запросят парольную фразу для закрытого ключа. Затем открытый ключ автоматически переместится в соответствующее место на удаленном сервере. Если администратор удаленного сервера не изменял настройки OpenSSH, ваш ключ будет добавлен в файл ~/.ssh/authorized_keys. | ||
Строка 97: | Строка 116: | ||
С виду разница лишь в том, что вместо пароля удаленного пользователя вы указываете парольную фразу закрытого ключа. Но как мы уже объясняли, внутри удаленный сервер и клиент проверяют вашу подлинность по ключам на основе сложных математических вычислений, без передачи пароля. | С виду разница лишь в том, что вместо пароля удаленного пользователя вы указываете парольную фразу закрытого ключа. Но как мы уже объясняли, внутри удаленный сервер и клиент проверяют вашу подлинность по ключам на основе сложных математических вычислений, без передачи пароля. | ||
− | Укрепим защиту | + | ==Укрепим защиту== |
Раз уж мы завели ключи, для пущей безопасности стоит полностью отключить парольную аутентификацию. Для этого откройте файл настройки сервера (обычно /etc/ssh/.sshd_config) и измените значение параметра PasswordAuthentication с ‘yes’ на ‘no’. | Раз уж мы завели ключи, для пущей безопасности стоит полностью отключить парольную аутентификацию. Для этого откройте файл настройки сервера (обычно /etc/ssh/.sshd_config) и измените значение параметра PasswordAuthentication с ‘yes’ на ‘no’. | ||
+ | {{Врезка|left|Заголовок= Шаг за шагом: Создадим и установим ключи с Seahorse|Ширина=98%|Содержание= Создадим новый ключ | ||
+ | 1. | ||
+ | Запустите Seahorse, выберите пункт меню File > Create New [Файл > Создать] и выберите пункт для создания ключа SSH. Введите описание ключа. При желании можно изменить тип шифрования (RSA или DSA) и длину ключа. | ||
+ | |||
+ | 2. | ||
+ | Установим ключ | ||
+ | |||
+ | Теперь нажмите на кнопку Create and Set Up [Создать и установить]. У вас cпроcят парольную фразу. После создания ключа будет предложено ввести имя удаленного компьютера и имя пользователя, которому скопируется открытый ключ. | ||
+ | |||
+ | 3 | ||
+ | Управляем ключами | ||
+ | |||
+ | Список всех закрытых ключей находится на вкладке My Personal Keys [Мои личные ключи]. Для просмотра информации о ключе и изменения ключевой фразы щелкните на нем правой кнопкой мыши и выберите пункт меню Properties [Свойства]. Чтобы скопировать открытый ключ на другой компьютер, выберите Configure Key for Secure Shell [Настройка ключа для безопасной оболочки].}} | ||
Ключи решили нам одну серьезную проблему: теперь с одной парольной фразой можно подключаться по SSH на несколько удаленных компьютеров, где есть ваш открытый ключ. Это избавляет вас от необходимости помнить кучу паролей, но запуск скриптов по-прежнему будет прерываться запросом парольной фразы. | Ключи решили нам одну серьезную проблему: теперь с одной парольной фразой можно подключаться по SSH на несколько удаленных компьютеров, где есть ваш открытый ключ. Это избавляет вас от необходимости помнить кучу паролей, но запуск скриптов по-прежнему будет прерываться запросом парольной фразы. | ||
+ | {{Врезка|left|Заголовок= Ограничение доступа|Ширина=98%|Содержание= Независимо от количества компьютеров, с которыми вы работаете, всегда стоит ограничить доступ пользователями и хостами, которым вы доверяете. Настройки сервера OpenSSH можно изменить в файле /etc/ssh/sshd_config. | ||
+ | |||
+ | Для начала запретите вход в систему от имени root. Всегда лучше заходить как обычный пользователь, который затем сможет переключиться на root. Чтобы запретить вход в систему под root, откройте конфигурационный файл, найдите параметр PermitRootLogin, смените его значение с ‘yes’ на ‘no’ и перезапустите сервис. | ||
+ | |||
+ | Чтобы еще лучше защитить систему от несанкционированного доступа, задайте список пользователей, имеющих право подключаться по SSH. Скажем, вы хотите ограничить этот список только пользователями sam и chuck. Тогда добавьте в конец файла sshd_config строку | ||
+ | |||
+ | AllowUsers sam chuck | ||
+ | |||
+ | Для ограничения SSH-доступа заданными хостами можно создать правило для сервиса SSH в файлах управления доступом к хостам. Сперва откройте /etc/hosts.deny и создайте правило sshd: ALL, запрещающее доступ ко всем хостам. | ||
+ | |||
+ | Теперь можно выбрать хосты, с которых разрешено соединение: правило sshd: | ||
+ | 192.168.1 201.130.177.13 в файле /etc/hosts.allow разрешит доступ к хостам из сети 192.168.1.0/24 и с хоста201.130.177.13.}} | ||
+ | |||
В OpenSSH есть утилита ssh-agent, которая хранит ваши закрытые ключи в памяти. Вам нужно только запустить агента и передать ему свои закрытые ключи. Если агент запущен, клиенты SSH не будут запрашивать у вас ключевые фразы, а возьмут информацию у агента. | В OpenSSH есть утилита ssh-agent, которая хранит ваши закрытые ключи в памяти. Вам нужно только запустить агента и передать ему свои закрытые ключи. Если агент запущен, клиенты SSH не будут запрашивать у вас ключевые фразы, а возьмут информацию у агента. | ||
Строка 135: | Строка 180: | ||
Это похоже на команду ssh-add. Агент Seahorse запрашивает у вас пароль и позволяет сохранить пароли в gnome-keyring. Затем он отвечает на все последующие запросы ключей SSH. | Это похоже на команду ssh-add. Агент Seahorse запрашивает у вас пароль и позволяет сохранить пароли в gnome-keyring. Затем он отвечает на все последующие запросы ключей SSH. | ||
− | Перенаправление SSH | + | ==Перенаправление SSH== |
Одна из утилит SSH, которой я пользуюсь часто – scp. Одно из ее удобств – то, что она может копировать файл с одного удаленного хоста напрямую на другой. Так, со своего домашнего нетбука я могу делать резервные копии файлов журналов с одного удаленного сервера на другой, командой вроде | Одна из утилит SSH, которой я пользуюсь часто – scp. Одно из ее удобств – то, что она может копировать файл с одного удаленного хоста напрямую на другой. Так, со своего домашнего нетбука я могу делать резервные копии файлов журналов с одного удаленного сервера на другой, командой вроде | ||
Строка 142: | Строка 187: | ||
Вместо копирования файла на локальный компьютер и затем на удаленный сервер, эта команда напрямую скопирует /var/log/server.log с сервера server2.remote.com в каталог с резервными копиями на сервере server3.remote.com и создаст соответствующие временные отметки. | Вместо копирования файла на локальный компьютер и затем на удаленный сервер, эта команда напрямую скопирует /var/log/server.log с сервера server2.remote.com в каталог с резервными копиями на сервере server3.remote.com и создаст соответствующие временные отметки. | ||
− | + | {{Врезка|right|Заголовок=Скорая помощь |Ширина=20%|Содержание=Если вы копируете ключи вручную, позаботьтесь, чтобы удаленный каталог SSH и соответствующие файлы быди доступны на запись только из вашей учетной записи.}} | |
Однако, попробовав запустить эту команду, вы получите следующую ошибку: | Однако, попробовав запустить эту команду, вы получите следующую ошибку: | ||
Строка 174: | Строка 219: | ||
Когда все это настроено, вам останется лишь зайти в локальный клиент и добавить ключи (с помощью ssh-add) уже запущенному агенту ssh. Затем он запросит у вас парольные фразы для всех закрытых ключей. После этого все операции по SSH на всех удаленных компьютерах, где есть ваши открытые ключи, будут проводиться без запроса парольной фразы. | Когда все это настроено, вам останется лишь зайти в локальный клиент и добавить ключи (с помощью ssh-add) уже запущенному агенту ssh. Затем он запросит у вас парольные фразы для всех закрытых ключей. После этого все операции по SSH на всех удаленных компьютерах, где есть ваши открытые ключи, будут проводиться без запроса парольной фразы. | ||
− | |||
− |
Текущая версия на 07:58, 27 июня 2018
|
|
|
Шифрование ключей
OpenSSH: Как легко войти
Hardcore Linux Проверьте себя на крутом проекте для продвинутых пользователей
Запуск скриптов через SSH-соединение может иметь свои закавыки. Маянк Шарма демонстрирует, как их перехитрить.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
OpenSSH – одна из немногих вещей, полезных всем пользователям, будь то администраторы, разработчики или домашние пользователи. Нам привычен удаленный вход через OpenSSH на другой компьютер дома, в офисе или на другом конце планеты.
Работа с OpenSSH – сама простота. Когда клиент в первый раз связывается с сервером, SSH создает между ними защищенный канал связи, в котором весь обмен данными шифруется. Затем клиент спрашивает ваш пароль и отправляет его на сервер. По паролю сервер аутентифицирует вас и разрешает войти в систему на удаленном компьютере.
И здесь кроется большая проблема. Вы подключаетесь к удаленному компьютеру только после ручного ввода пароля.
Содержание |
[править] Большая проблема
Предположим, на локальном компьютере у вас есть задание cron, ежечасно запускающее скрипт, который копирует с удаленного сервера пару файлов. И при каждой попытке скрипта связаться с удаленным компьютером у него запросят пароль. Это исключает использование SSH для задач, которые должны выполняться без вашего участия. Или нет?
Рассмотрим эту проблему подробнее. В состав OpenSSH входят несколько утилит командной строки, таких как scp и sftp: это расширения утилит cp и ftp, предназначенные для работы в защищенных каналах связи. Если вы хотите скопировать файлы на удаленный хост или с него, вы пользуетесь scp, которая автоматически установит SSH-соединение с удаленным хостом. При каждом запуске команда scp устанавливает новое соединение с удаленным хостом. И если у вас три команды scp, один и тот же пароль придется вводить трижды. Поэтому вам вряд ли захочется использовать scp в своих скриптах в чистом виде.
Вдобавок SSH не слишком хорошо масштабируется. Если у вас несколько учетных записей на разных компьютерах сети, запомнить уникальные сложные пароли для каждого из них будет невозможно.
[править] Ключ к решению проблемы
Для решения этой проблемы нужно изменить используемый по умолчанию механизм аутентификации. В OpenSSH есть различные механизмы аутентификации, и один из них основан на ключах, а не на паролях. К тому же он самый надежный. По умолчанию OpenSSH использует ключи для аутентификации подлинности сервера в первый раз при подключении клиента к новому удаленному компьютеру:
$ ssh admin@server2. remote.com Аутентичность хоста ‘server2.remote.com (server2.remote.com)’ не может бть установлена.
ECDSA key fingerprint is ca:e8:b2:97:e4:d5:01:65:7e:d2:c4:db:12:3c:51:ce.
Вы уверены, что хотите продолжить соединение (да/нет)?
Когда вы в ответ наберете «да», клиент предупредит вас, что навсегда добавляет удаленный хост в список известных хостов. В данном случае OpenSSH использует ключи для предотвращения атак «человек посередине» [Man in the middle, MITM-атака].
Итак, в дополнение к аутентификации сервером клиента по паролю клиент тоже аутентифицирует сервер по ключу.
У каждого сервера OpenSSH есть секретный уникальный идентификатор ID, называемый ключом хоста, с помощью которого он идентифицирует себя клиентам. При первом подключении к удаленному хосту открытая часть ключа хоста копируется и сохраняется в локальной учетной записи. При каждом подключении к этому хосту клиент SSH проверяет его подлинность с помощью открытого ключа.
Вы тоже можете создать набор ключей для подтверждения своей подлинности. OpenSSH воспользуется этой парой ключей для проверки и создаст защищенное соединение с удаленным сервером.
Закрытый ключ доступен только вам и используется клиентом OpenSSH для подтверждения вашей подлинности серверам. Также есть открытый ключ, который, в соответствии со своим названием, находится в открытом доступе. Вы должны разместить его на всех своих учетных записях на удаленных компьютерах, к которым намерены подключаться по SSH.
[править] Создание ключа
При установке соединения с помощью ключей компьютеры общаются друг с другом не так, как при аутентификации по паролю. При подключении к удаленному компьютеру вашего клиента удаленный компьютер создает запрос с помощью вашего открытого ключа. Клиент принимает запрос и отвечает на него на основе вашего закрытого ключа.
OpenSSH может создавать ключи по алгоритмам RSA (Rivest-Shamir-Adleman) и DSA (Digital Signature Algorithm). Можете использовать любой – надежны оба. По умолчанию OpenSSH использует RSA, более новый из двух. Для создания ключа введите на клиенте следующее:
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/bodhi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/bodhi/.ssh/id_rsa.
Your public key has been saved in /home/bodhi/.ssh/id_rsa.pub.
The key fingerprint is:
dc:52:36:fc:9e:98:a4:71:ab:7c:66:22:af:f8:96:1f bodhi@bodhi-Aspire-5738
The key’s randomart image is:
Ключи лучше хранить в каталоге по умолчанию, если нет веских причин хранить их в другом месте. Также обязательно задайте парольную фразу.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Затем ssh-keygen создаст локальный каталог SSH (~/.ssh), если его нет, и сохранит закрытую и открытую части ключа в двух файлах в этом каталоге. По умолчанию это файлы с именами id_rsa и id_rsa.pub. Файл id_rsa доступен для чтения только вашему пользователю, а его содержимое дополнительно защищено путем шифрования с парольной фразой, заданной вами при генерации ключа.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Следующий шаг – скопировать открытый ключ на удаленный сервер. Если вы заходите на удаленный сервер server2.remote.com как пользователь ‘admin’, можете переместить ключи одной командой:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub admin@server2.remote.com
admin@server2.remote.com’s password:
Теперь попробуйте зайти на компьютер через посредство команды
ssh ‘admin@server2.remote.com’
и загляните в файл ~/.ssh/authorized_keys, чтобы убедиться, что мы не добавили лишних ключей.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
У вас запросят парольную фразу для закрытого ключа. Затем открытый ключ автоматически переместится в соответствующее место на удаленном сервере. Если администратор удаленного сервера не изменял настройки OpenSSH, ваш ключ будет добавлен в файл ~/.ssh/authorized_keys.
Вот и все. Теперь вы можете подключаться к удаленному компьютеру с помощью ключа. При подключении к удаленному компьютеру по ssh у вас будет запрашиваться парольная фраза.
С виду разница лишь в том, что вместо пароля удаленного пользователя вы указываете парольную фразу закрытого ключа. Но как мы уже объясняли, внутри удаленный сервер и клиент проверяют вашу подлинность по ключам на основе сложных математических вычислений, без передачи пароля.
[править] Укрепим защиту
Раз уж мы завели ключи, для пущей безопасности стоит полностью отключить парольную аутентификацию. Для этого откройте файл настройки сервера (обычно /etc/ssh/.sshd_config) и измените значение параметра PasswordAuthentication с ‘yes’ на ‘no’.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Ключи решили нам одну серьезную проблему: теперь с одной парольной фразой можно подключаться по SSH на несколько удаленных компьютеров, где есть ваш открытый ключ. Это избавляет вас от необходимости помнить кучу паролей, но запуск скриптов по-прежнему будет прерываться запросом парольной фразы.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
В OpenSSH есть утилита ssh-agent, которая хранит ваши закрытые ключи в памяти. Вам нужно только запустить агента и передать ему свои закрытые ключи. Если агент запущен, клиенты SSH не будут запрашивать у вас ключевые фразы, а возьмут информацию у агента.
$ ssh-agent $SHELL
Здесь $SHELL – переменная окружения с вашей оболочкой, скорее всего /bin/bash. При запуске агента он вызывает указанную оболочку как дочерний процесс.
Вы видите лишь еще одну оболочку, но у нее теперь имеется доступ к агенту. И любые вводимые вами команды пройдут через агента, который задержит их и ответит всем, кому потребуется доступ к закрытым ключам OpenSSH.
Прежде чем пойти дальше, дадим вам небольшой совет по запуску агента. Поскольку имеет смысл при входе в систему первым запускать агента, можно изменить (или создать собственный) файл входа в систему (~/.bash_profile), чтобы агент автоматически запускался при загрузке – тогда вы освободитесь от обязанности делать это вручную.
Запущенному агенту надо передать ключи. Для этого вызывается программа ssh-add, которая по умолчанию загружает ключи из вашего файла идентификации по умолчанию; в нашем случае это ~/.ssh/id_rsa:
$ ssh-add
Enter passphrase for /home/bodhi/.ssh/id_rsa:
Identity added: /home/bodhi/.ssh/id_rsa (/home/bodhi/.ssh/id_rsa)
Теперь при подключении к удаленному компьютеру командой
ssh admin@server2.remote.com
вы сможете войти в систему без ввода парольной фразы!
scp и sftp тоже смогут подключаться к удаленным хостам, не запрашивая у вас парольной фразы. Таким образом, вам теперь ничто не мешает добавлять в расписание и автоматически запускать скрипты, работающие с файлами на удаленном компьютере.
Единственное неудобство в том, что после каждой перезагрузки компьютера нужно загружать свои закрытые ключи в агент (автоматически запускаемый .bash_profile). Делать это раз в день – прекрасный компромисс между удобством и безопасностью. Поскольку загружать их нужно только один раз, теперь у вас может быть несколько ключей для различных серверов или задач.
К тому же в системах на базе Gnome, в которые входит Seahorse, агент SSH Seahorse помогает загрузить ключи SSH и хранит их в памяти. Он работает так же, как ssh-agent, и кэширует ключи SSH при первом обращении к ним.
Это похоже на команду ssh-add. Агент Seahorse запрашивает у вас пароль и позволяет сохранить пароли в gnome-keyring. Затем он отвечает на все последующие запросы ключей SSH.
[править] Перенаправление SSH
Одна из утилит SSH, которой я пользуюсь часто – scp. Одно из ее удобств – то, что она может копировать файл с одного удаленного хоста напрямую на другой. Так, со своего домашнего нетбука я могу делать резервные копии файлов журналов с одного удаленного сервера на другой, командой вроде
$ scp admin@server2.remote.com:/var/log/server.log logkeeper@server3.remote.com:/backup/server.log.$(date+%Y%m%d)
Вместо копирования файла на локальный компьютер и затем на удаленный сервер, эта команда напрямую скопирует /var/log/server.log с сервера server2.remote.com в каталог с резервными копиями на сервере server3.remote.com и создаст соответствующие временные отметки.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Однако, попробовав запустить эту команду, вы получите следующую ошибку:
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
lost connection
Она возникает потому, что scp при запуске на локальном компьютере сначала связывается с server2.remote.com. Но так как мы копируем файл на третий хост, scp также вызывает вторую команду scp для копирования на server3.remote.com. Эта вторая команда выдает ошибку. Как и первой, для подключения к server3.remote.com ей нужна парольная фраза вашего закрытого ключа. Но поскольку на сервере server3.remote.com нет активного сеанса для запроса ключевой фразы, она выдает ошибку, что, в свою очередь, приводит к неудачному завершению и первой команды scp.
Эту проблему можно решить, перенаправив server3.remote.com на ваш локальный агент SSH на нетбуке.
Таким образом, удаленный процесс scp просто связывается с локальным агентом SSH, аутентифицируется, и безопасное копирование выполняется успешно. Этот процесс известен как перенаправление агента.
Чтобы клиент SSH мог воспользоваться перенаправлением агента, эту опцию нужно включить в файле конфигурации на локальном компьютере клиента, где запущен агент ssh. SSH получает данные о конфигурации прежде всего из параметров командной строки, затем из файла конфигурации пользователя (обычно ~/.ssh/config), а затем из системного файла конфигурации (обычно /etc/ssh/ssh_config). Чтобы активировать перенаправление агентов, создайте или откройте локальный файл конфигурации SSH (~/.ssh/config) и добавьте в него следующий параметр:
Host *
ForwardAgent yes
Он гарантирует, что подключение к агенту аутентификации будет перенаправлено на все удаленные хосты.
Когда перенаправление агентов активировано, запросы аутентификации SSH не перенаправляются напрямую локальному агенту SSH.
Вместо этого первый удаленный сервер (в данном случае server2.remote.com) выступает в качестве второго ssh-agent. Он принимает запросы на аутентификацию с третьего сервера и передает их по SSH-соединению локальному агенту для обработки, затем принимает результаты от локального клиента и передает их на третий сервер.
Приятнее всего то, что после включения перенаправления агентов оно будет работать для всех удаленных хостов, на которых есть ваш открытый ключ. Поэтому файлы можно будет копировать с третьего сервера на четвертый или пятый и т. д.
Когда все это настроено, вам останется лишь зайти в локальный клиент и добавить ключи (с помощью ssh-add) уже запущенному агенту ssh. Затем он запросит у вас парольные фразы для всех закрытых ключей. После этого все операции по SSH на всех удаленных компьютерах, где есть ваши открытые ключи, будут проводиться без запроса парольной фразы.