LXF92:Ответы
|
|
|
- Есть вопрос по Open Source? Пишите нам по адресу: answers@linuxformat.ru
Содержание |
Ответы
Монтируя Mepis
В: Успешно заменив на своем компьютере старую систему Mandrake Linux на дистрибутив SimplyMepis 3.4 с диска LXF79, я нашел, что все работает безупречно, и перестал пользоваться F2 во время загрузки (ведь никаких неполадок не было). Однако несколько недель спустя я заглянул в загрузочные сообщения и увидел уведомление о том, что не смогла запуститься fsck, так как корневая директория не была смонтирована в режиме «только для чтения». В Сети подходящего объяснения я не нашел, и очень обрадовался, когда увидел учебник Grub в LXF90. Но он лишь сгустил туман. На моей машине, /boot/Grub/menu.lst.example содержит:
color cyan/blue white/blue foreground ffffff background 2f5178 gfxmenu /boot/grub/message title MEPIS at hda2, kernel 2.6 kernel (hd0,2)/boot/vmlinuz-2.6.12-586tsc root=/dev/hda2 nomce psmouse.proto=imps splash=verbose vga=791 initrd (hd0,2)/boot/initrd.img-2.6.12-586tsc
Однако /boot/Grub/menu.lst содержит:
color cyan/blue white/blue foreground ffffff background 0639a1 gfxmenu /boot/grub/message title MEPIS at hda6, kernel 2.6.15-1-586tsc kernel /boot/vmlinuz-2.6.15-1-586tsc root=/dev/hda6 nomce quiet vga=791
где формат кода загрузки ядра 2.6.15 не соответствует ни файлу-образцу, ни коду из учебника LXF90.
Хотя ОС, несмотря на это предупреждение, все же работает, мне, естественно, хотелось бы видеть fsck работающей, как полагается, и я был бы очень благодарен за любое предположение о причинах моей проблемы и о путях ее преодоления. Питер Ненкерроу [Peter Nancarrow]
О: Файловые системы ext2/3 запускают fsck по наступлении заданного времени или количества загрузок; управляет этим tune2fs. Похоже, проблема возникла с первого дня, просто Вы еще не успели упереться в лимит, когда перестали читать загрузочные сообщения.
Между настройкой Вашего Grub и файлом-образцом есть два главных различия. Первое – Ваш загрузчик не пользуется initrd для отображения экраназаставки, Ваша проблема тут ни при чем. Второе – для загрузки Mepis не указан корневой раздел. Если строка ядра не начинается с kernel (hd0,5)/boot/vmlinuz, Вас ожидают непредсказуемые последствия. Вариант поместить root (hd0,5) в начало файла. Это не повлияет на проверку файловой системы при загрузке, но поможет избежать более тонких проблем.
Можно настроить Grub на монтирование корневого раздела в режиме «только для чтения», добавив ro к строке параметров ядра. Файловая система перемонтируется согласно настройке из /etc/fstab на ранней стадии загрузки, но после того, как fsck завершит работу. Строка ядра будет выглядеть примерно так:
kernel (hd0,5)/boot/vmlinuz-2.6.15-1-586tsc root=/dev/hda6 ro nomce quiet vga=791
Можно запустить fsck вручную, загружаясь в режиме минимального вмешательства. При появлении меню Grub выберите пункт Mepis, нажмите Е для его редактирования, выберите строку ядра и нажмите Е снова. Удалите quiet и замените его на ro init=/bin/sh. Нажмите Enter для подтверждения и В для загрузки. Вы получите приглашение командной строки и, так как файловая система смонтирована в режиме «только для чтения», сможете запустить
fsck -f /dev/hda6 && shutdown -r -n now
Диск будет проверен, причем компьютер перезагрузится лишь в случае успешной проверки. НБ
Планшет блуждает
В: С моим планшетом Wacom Graphire3 творится что-то непонятное: при каждом включении машины приходится менять event в xorg.conf. Сейчас у меня Fedora 6 с Gnome, а мой xorg.conf унаследован от Fedora 5, с тем же Gnome и теми же аппаратными настройками. Раньше планшет работал безукоризненно. Поиск в Google результата не дал, и я понятия не имею, что происходит. Было бы здорово, если бы вы хоть что-нибудь мне подсказали. Фред Капферрот [Fred Kupferroth]
О: Насколько я понял, Вам приходится всякий раз менять номер устройства event. Присланный Вами xorg.conf содержит
Option “Device” “/dev/input/event2”
и Вы вынуждены менять этот номер. А дело в том, что устройства ввода нумеруются в порядке их обнаружения, и этот порядок оказывается новым при каждой загрузке – видимо, из-за какого-то устройства, подключаемого эпизодически (флэш-драйв или сканер). Выход – приказать udev, менеджеру устройств, присвоить Вашему планшету постоянное имя, не зависящее от порядка обнаружения.
Для этого существуют правила udev. Сначала выясните, как система определяет устройство, вот таким способом:
udevinfo -a -p /sys/class/input/event2 | less
Когда я подключаю свой планшет Aiptek, третий блок вывода содержит:
SUBSYSTEMS==”usb” DRIVERS==”aiptek” ATTRS{vendor}==”AIPTEK”
Конкретную запись привести невозможно (слишком много вариантов), но для своего Wacom-планшета Вы должны увидеть нечто подобное.
Чтобы смастерить из этого правило udev, откройте терминал, станьте суперпользователем через su и отредактируйте файл /etc/udev/rules.d/10/local.rules (если такого нет, создайте его). И, пожалуйста, не поддавайтесь искушению добавить правило в уже существующий файл правил: при обновлении udev он может быть переписан. 10/local.rules – самое место для ваших личных правил.
Теперь добавьте строку вроде этой, но со значениями, выданными Вам udevinfo:
SUBSYSTEMS==”usb”, DRIVERS==”aiptek”, ATTRS{vendor}==”AIPTEK”, SYMLINK:=”input/tablet”
Как видите, здесь просто через запятую указаны атрибуты устройства, а затем идет установка SYMLINK.
Заметьте, атрибутам соответствует знак ==, означающий равенство, а в последнем пункте стоит :=, то
есть значение присваивается. Ваше устройство будет создаваться как /dev/input/eventN, но иметь ссылкой
/dev/input/tablet, запуск ls -l /dev/input
это подтвердит.
Теперь можете спокойно использовать /dev/input/tablet в xorg.conf, ваш планшет всегда будет работать.
Глубже разобраться в правилах помогут урок по udev в LXF66 (хотя кое-что с тех пор могло измениться, ведь udev непрерывно развивается) и полезный онлайн-учебник на http://www.reactivated.net/udevrules.php. НБ
Экран-уродец
В: Неделю назад я купил ноутбук Dell Latitude (Pentium III) на распродаже излишков в местном университете. Прежде на нем стояла Windows, но продавался он без ПО, и мы решили попробовать Linux. Взяли журнал Getting Started with Fedora Core 6 Linux [Спецвыпуск Linux Format], попробовали загрузить Fedora, и, после начальных загрузочных строк, получили прилагаемый экран – вместо того, что в журнале.
Джон Шнайдер [John Schneider]
О: По присланному вами снимку экрана понятно, что инсталлятор Fedora Core неверно определил данные вашего дисплея, оттого экран и искажен. Есть несколько вариантов устранения проблемы. При появлении заставки, попробуйте набрать следующее:
linux skipddc
Инсталлятор не станет «вникать в детали» вашего экрана, а использует (надеемся, разумные) стандартные значения. Если это не поможет, попробуйте указать одно из следующих разрешений экрана:
linux resolution=1024x768 linux resolution=800x600 linux resolution=640x480
Если не поможет и это, можно запустить инсталлятор в текстовом режиме:
linux text
Вы получите неказистый, но полноценный установщик, управляемый клавишами курсора, Tab и Enter. Хочу подчеркнуть, что проблема дисплея касается лишь инсталляции, это не помешает вам установить и настроить графический рабочий стол. НБ
Извлечь звук
В: Посоветуйте, какой цифровой формат выбрать для извлечения музыки с аудио-CD, чтобы можно было слушать ее без проблем с патентами? И как пакетно конвертировать сразу 30 альбомов – я перевел их в MP3 пару лет назад, будучи Microsoft-пользователем? pootman, с форумов LXF
О: Ogg Vorbis обеспечивает более плотное сжатие при лучшем качестве, чем MP3, и при этом совершенно свободен. Другой свободный формат – это FLAC (Free Lossless Audio Codec, свободный аудиокодек без потерь). Потерь здесь нет, так что экономии места ждать не приходится, зато сохраняется каждый бит оригинальной дорожки. Если места на жестком диске хватает, для хранения CD-дорожек лучше использовать FLAC – позднее Вы сможете конвертировать записи в Ogg Vorbis или MP3, чтобы перенести на малое устройство (например,флэш MP3-плейер).
Перекодирование готовых MP3 в Ogg Vorbis сопровождается некоторой потерей качества, поэтому лучше снова начать с CD. Для этого есть много графических инструментов, а проще всего использовать Konqueror из KDE. Поместите CD в привод и наберите media:/ в адресной строке. Выберите в списке CD, и Вы увидите его содержимое в виде файлов MP3, OggVorbis, FLAC и Wave. Понятно, все эти файлы воображаемые, но при копировании их на жесткий диск они будут перекодированы «на лету». Параметры сжатия устанавливаются в разделе Sounds & Multimedia (Звуки и Мультимедиа) Центра управления KDE.
Если Вы не пользуетесь KDE, рекомендую Grip с http://www.nostatic.org/grip. Это GTK-аудиоплейер и рипер. Для консоли есть abcde (с http://www.hispalinux.es/~data/abcde.php), сценарий оболочки: он извлечет и перекодирует файлы и снабдит их тэгами. Он идеален для конвертации партии дисков – только успевайте подбрасывать новые взамен обработанных. Все указанные методы используют онлайн-базу CDDB для добавления справочной информации к создаваемым файлам.
При наличии только MP3 поможет скрипт mp32ogg, взять который можно на http://faceprint.com/code. Пользоваться им несложно:
mp32ogg musicdir
и все файлы из musicdir будут перекодированы из MP3 в Ogg Vorbis. Различные параметры управляют уровнями качества, именованием файлов и удалением оригиналов – запустите mp32ogg --help для их просмотра. Этот скрипт не только конвертирует музыку, но и переносит тэги из MP3-файлов. НБ
Сканирование – народу
В: Недавно я перешел с SUSE 10.0 на OpenSUSE 10.2 через реинсталляцию. Мой сканер CanoScan N640P хорошо работал в SUSE 10.0 с XSane/SANE, работает и теперь, но лишь с привилегиями администратора. Поддержка SANE для сканера надежна. Версии XSane/SANE – те, что были в дистрибутиве, т.е. 0.991-32 i586 и 1.0.18-34 i586. Вскоре после инсталляции я сделал онлайн-обновление. Версия SANE на SUSE 10.0 была 1.0.15-20.2 i586.
Yast2 корректно настроил сканер – вручную было добавлено canon_pp: parport0 – и протестировал со scanimage -d canon_pp:parport0 -T. Я успешно запускаю эту команду из командной строки, но только как суперпользователь.
Вызывая XSane как обычный пользователь, я получаю сообщение: ‘no devices available’ (нет доступных устройств), с указанием шести возможных причин. Из них третья, ‘the permissions of the device file do not allow you to use it – try root’ [недостаточно прав – попробуйте как суперпользователь], кажется наиболее вероятной. Однако я не могу найти файла устройства для сканера. Хотя, насколько я могу судить, файлы конфигурации верны.
Пробовал все четыре настройки параллельного порта в BIOS (normal, ECP (DMA3), ECP/EPP и EPP), но безрезультатно.
Дейв Кулсток [Dave Coulstock]
О: Вы правы, все дело в правах доступа. То же самое было у меня с USB-сканером Canon. Устройство «сканер» – это /dev/parport0 (хотя некоторые дистрибутивы называют его /dev/lp0). Запуск
ls -l /dev/{par,lp}*
покажет все эти устройства и права доступа к ним. Обычно выводится что-то вроде:
‘crw-rw---- 1 root lp 99, 0 Jan 27 11:37 /dev/parport0’
Это показывает, что устройство доступно лишь суперпользователю и членам группы lp. В таком случае проще всего добавить себя в группу lp, командой
gpasswd -a yourusername lp
Некоторые дистрибутивы создают группу scanner вместо lp – тогда команду, естественно, придется изменить. Чтобы изменения заработали, выйдите из системы и войдите снова. Затем попробуйте
scanimage --list-devices
как супер- и как обычный пользователь. В обоих случаях сканер должен быть виден.
Если устройство принадлежит root:root или права доступа не rw-rw----, Вам придется изменить ситуацию, создав правило udev. Добавьте следующую строку в /etc/udev/rules.d/10/local.rules:
KERNEL==”parport0”, GROUP:=”scanner”, MODE:=”660”, SYMLINK:=”scanner”
Она предпишет устройству /dev/parport0 иметь права доступа rw-rw---- и принадлежать к группе scanner. Создается также символическая ссылка /dev/scanner, которую «уважают» некоторые програм- мы. Подробнее о создании правил udev см. ответ на вопрос «Планшет блуждает»
Если Ваше устройство не parport0 или lp0, найти его можно так:
dmesg | grep -i -C 3 -e parport -e canon -e sane
НБ
Грузятся диски…
В: Я почитываю ваш журнал уже года полтора. Браво! А трехзагрузочный DVD из LXF79 вообще крут, как вареное яйцо. Теперь вопрос: как вы это делаете? Хочу смастерить нечто подобное для друзей и знакомых, чтобы они «почувствовали Linux-разницу». Я приобрел пишущий DVD и диски, так что с «железом» все в порядке. Осталось узнать, как записать несколько дистрибутивов и сделать каждый из них загружаемым. Куча благодарностей заранее. Буду читать вас и далее, если удержите марку! Марк [Mark]
О: Сделать мультизагрузочный DVD непросто: нужно изучить загрузчики Grub и Isolinux, а также структуру тех дистрибутивов, которые Вы хотите скомбинировать. Сначала создайте новую директорию и скопируйте в нее содержимое первого CD- дистрибутива. Если Вы не прожгли CD, то можете смонтировать ISO-образ как loopback-устройство (от имени суперпользователя):
mkdir /loop/ mount -o loop discimage.iso /loop/
Скопировав содержимое диска в новую директорию, сделайте то же для второго дистрибутива. Просмотрите файлы: не будет ли конфликтов с первым дистрибутивом? Если есть, понадобится вручную отрихтовать (возможно, даже пересобрать) дистрибутив, придется попотеть. Если конфликтов нет, или они ограничиваются директориями grub и isolinux, то все в порядке.
Скопируйте файлы второго диска в новую директорию. Теперь в ней содержится два дистрибутива. Затем нужно настроить загрузчик на мультизагрузку. Выберите загрузчик одного из дистрибутивов (в директории boot, grub или isolinux – зависит от дистрибутива) и отредактируйте его файлы конфигурации (menu.lst, isolinux.conf – см. документацию Grub и Isolinux, там указаны типичные имена файлов).
Добавьте в файл конфигурации загрузочные записи для второго дистрибутива: Вы найдете их в директории его загрузчика. Теперь файл первого загрузчика будет содержать загрузочные записи второго дистрибутива. Еще не запутались? Хоть это и нелегко, но следите за тем, чтобы не потерять записи из обоих конфигурационных файлов; затем объедините их.
Теперь прожгите директорию на диск, используя элемент директории загрузчика первого дистрибутива в качестве загрузочного блока – он будет называться isolinux.bin (для Isolinux) или stage2_eltorito (для Grub). Если Вы объединили файлы загрузчиков правильно, а директории дистрибутивов не конфликтуют, то можно будет загружаться с нового диска и выбирать нужный дистрибутив в загрузочном меню. МС
Жгучий вопрос
В: По работе я прожигаю диски с помощью K3b. При прожиге отметки времени для всех записанных файлов становятся одинаковыми. Я хотел бы сохранять оригинальные отметки времени, но не знаю, как это сделать. Вы не могли бы мне помочь? fleafly, из форумов LXF
О: K3b вообще-то делает это по умолчанию, но данное поведение можно изменить. Открыв окно проекта K3b, после щелчка на кнопке Burn (Прожечь) перейдите на вкладку Filesystem (Файловая система) и убедитесь, что установлена галочка Preserve File Permissions (Backup) (Сохранять права доступа). Нужно отметить галочками также Generate Rock Ridge Extensions (Создавать расширения Rock Ridge) и Generate Joliet Extensions (Создавать расширения Joliet) для полной совместимости. Расставив все галочки, нажмите кнопку Save User Defaults (Использовать по умолчанию), и программа сохранит сделанные изменения.
Если запись CD производится постоянно, удобно будет написать короткий скрипт оболочки, что-нибудь вроде:
#!/bin/bash SOURCE_DIR=”~/work/data” DVD_WRITER=”/dev/dvd” ISO_FILE=”~/tmp/image.iso” mkisofs -rdJ -o $ISO_FILE $SOURCE_DIR && cdrecord dev=$DVD_WRITER $ISO_FILE
Вам понадобится новейшая версия CDRecord – или wodim, включающая версию CDRecord, которая умеет писать DVD – чтобы использовать ее с пишущим DVD-приводом, иначе измените последнюю строку так:
growisofs -dvd-compat -Z $DVD_WRITER -rdJ $SOURCE_DIR
но помните, что growisofs работает только с DVD, а не с CD. МС
Горести инсталляции
В: Я решил сделать следующий шаг в Linux: заставить работать с помощью Wine мой инженерный пакет расчета конечных элементов. Попробовал установить Ubuntu 6.10 с диска LXF88, но экран постоянно мигал во время загрузки, даже когда я использовал Start With Low Resolution (Запуск с низким разрешением) и с помощью F4 менял разрешение на поддерживаемое монитором и видеокартой. По-моему, частота обновления экрана моего монитора 50 Гц, но Ubuntu 6.10 и Fedora Core 6 устанавливают ее на 60 Гц, независимо от разрешения.
Тогда я попробовал Ubuntu 6.06 – вот он инсталлировался безупречно. Хотел установить Wine из исходных текстов – ./configure предложила установить ‘flex’, а тот предложил установить ‘m4’, затем потребовался еще и ‘Bison’. И после всего этого Wine вернул сообщение об ошибке во время make.
Не справившись с Ubuntu, я попробовал установить Open SUSE 10.2 с DVD от LXF89, но посреди инсталляции получил такое сообщение:
“error occurred while creating the catalog Cd///?devices=/dev/hdc source rejected by the user Retry (yes) (no)”
Нажатие Yes принесло сообщение ‘error occurred dvd/// source rejected by the user’. У меня на жестком диске была двойная инсталляция с Windows XP – может быть, в этом причина? Анвар Ализаде [Anvar Alizadeh]
О: Вы и впрямь прошли крещение огнем! Попробую разобраться в причинах ваших неудач. Большинство мониторов имеют минимальную частоту обновления экрана 60 Гц, но после инсталляции вы можете установить то, что подходит Вашему монитору, в /etc/X11/xorg.conf. Найдите ту часть, которая начинается Monitor: там вы увидите настройки для HorizSync и VertRefresh. Замените их данными из спецификации монитора.
Большинство дистрибутивов предоставляет широкий выбор ПО, предполагая, что обычные пользователи редко компилируют что-то из исходников, так что инструменты для сборки по умолчанию не устанавливаются. Для Ubuntu возможно два варианта решения проблемы Wine. Можно инсталлировать пакет build-essentials, и тогда вы получите все необходимое, включая flex и m4.
Но проще будет добавить хранилище WineHQ в свой список пакетов, а затем установить новейшую версию Wine через менеджер пакетов. Для добавления хранилища запустите следующие команды:
wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add - sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/edgy.list winehq.list -O/etc/apt/sources.list.d/winehq.list
Первая добавит ключ от хранилища в Ваш список доверенных ключей, а вторая добавит само хранилище. Этот вариант для Ubuntu 6.10; для 6.06 замените edgy на dapper во второй команде.
Инсталляторы дистрибутивов иногда не могут найти привод, с которого происходит установка. Обычно это происходит тогда, когда в системе два оптических привода: Вы загружаетесь с одного диска, а инсталлятор обнаруживает другой и пробует копировать данные с него. Тогда проще будет загрузиться с другого дисковода. Если это невозможно (например, первый привод – CD, а вы пользуетесь DVD), то временно отключите первый дисковод.
Физически отсоединять кабель не обязательно: большинство BIOS умеют отключать отдельные устройства. Эта проблема касается лишь инсталляции – по окончании ее можно подключить все, как было. Подобное иногда случается при попытке инсталляции с DVD-приводов, подключенных по USB.
Возможно также, что Ваш диск поврежден. Проще всего проверить это на другом компьютере. Инсталлировать ничего не надо, просто загрузитесь и посмотрите, правильно ли работает инсталлятор. НБ
Что-то с памятью моей
В: Я в курсе, что объем памяти – узкое место моего сервера, уже потому, что сервер постоянно использует подкачку. Но точно определить количество памяти для эффективной работы оказалось не так-то просто. Я мог бы просто купить столько памяти, сколько мне по средствам, но мне кажется, что существуют какие-то методы определения оптимального количества. Phandro
О: Ваш вопрос, на первый взгляд простой, требует для ответа глубокого знания Linux. Для начала, подкачка пусть Вас не беспокоит. Нормальная Linux-система практически постоянно использует swap-пространство [спорное утверждение: на наших ПК swap обычно простаивает, – прим.рус.ред.]. Хотя злоупотребление подкачкой, конечно, нежелательно.
Например, вы оснастили свою машину новейшим многоядерным процессором, а скорость не увеличилась: при интенсивном обмене данными, если оперативная память мала и работает медленно, сервер по большей части будет гонять данные туда-сюда, почти не занимаясь их обработкой.
На Linux немало инструментов, которые помогут разобраться, что, собственно, происходит на вашей машине: весьма полезны top и uptime. Наряду с прочими сведениями, uptime отображает три колонки цифр: среднюю нагрузку машины за последние минуту, пять и пятнадцать минут. Что значит «нагрузка»? А это такое число, отражающее количество работы, выполненное компьютером. Крупные цифры означают большую работу, мелкие – работу поменьше. По-настоящему это «скользящее среднее с экспоненциальным затуханием от длины очереди запросов на CPU»… уж лучше считать его просто волшебным числом.
От этого числа как такового пользы мало: машина может быть очень занятой, но прекрасно справляться с нагрузкой. А вот безудержный его рост свидетельствует о проблемах. Запуск top покажет все работающие процессы и распределение между ними ресурсов процессора и памяти. Но, как я уже сказал, плотное использование CPU не всегда плохо, а редкое – не обязательно хорошо. Последнее может указывать на то, что данные слишком долго входят в процесс и выходят из него, поэтому низкая производительность при высокой загрузке – это звоночек о том, что скорость I/O (ввода/вывода) недостаточна (купите WD Raptors и хороший контроллер), или недостаточно физической оперативной памяти.
Комбинация top, uptime и free (показывает использование памяти) поможет определить, что подходит именно вам.
Если вам некогда дожидаться высокой активности сервера для проверки, создайте эту активность сами. Например, в состав Apache входит тестер, ApacheBench (команда называется ab), способный имитировать бурную деятельность.
Может оказаться полезным просмотр процессов, запущенных в компьютере. Хотя под Linux службы запускаются лишь в случае необходимости, все же некоторый выигрыш можно получить, убив все «левые» процессы. Демоны печати, звуковые серверы, X… даже HAL тут лишний, однако часто работает по умолчанию.
Чтобы действительно выжать из своей памяти все, попытайтесь перекомпилировать программы, оставив только действительно необходимые вам функции. Можно получить ощутимое снижение потребления памяти MySQL, Apache, PHP и иже с ними.
Множество полезных сведений можно найти в Сети; рекомендую статью об анализе памяти Лубоса Лунака [Lubos Lunak] на http://ktown.kde.org/~seli/memory. НВ
Ужесточить SSH
В: Для моих задач нужно запускать удаленную оболочку (SSH, я полагаю) на моем сервере. Но я не люблю перегружать сервер лишними службами, и не уверен, что оставлять SSH-сервер работающим безопасно. Я не очень-то в этом разбираюсь, и хотел бы знать, как усилить безопасность. Грег [Greg]
О: Хотя SSH безопасна по умолчанию, способы повысить устойчивость к взлому есть всегда. В основном они касаются ограничения методов входа, учетных записей и мест, с которых можно входить.
По умолчанию SSH допускает простой вход через пароль. При этом, соединяясь с сервером SSH как обычный пользователь, нужно этот пароль ввести. Конечно, пароль можно подобрать, так что есть и другие способы: например, авторизация в SSH через пару доверенных ключей. Потребуется генерация ключа на стороне клиента и копирование публичной части в хранилище authorized_keys (авторизированных ключей) SSH-сервера. Это удобный метод быстрого подключения без необходимости запоминать пароль, к тому же можно отключить запрос пароля на SSH-сервере. Сначала сделайте ключ и скопируйте его на сервер:
ssh-keygen -t dsa scp ~/.ssh/id_dsa.pub servername:.ssh/authorized_keys2
Подразумевается, что вы входите с одним и тем же именем пользователя на обоих компьютерах.
Необходимо отредактировать файл /etc/ssh/sshd_config, изменив строку
PasswordAuthentication yes
на
PasswordAuthentication no
Убедитесь в том, что сможете войти со своим ключом, прежде чем пробовать это, особенно на удаленном сервере!
Пока файл открыт, можно попробовать еще пару трюков. Найдите следующие две строки (в файле они не соседствуют):
PermitRootLogin yes ... Protocol 2,1
и замените их на:
PermitRootLogin no Protocol 2
Это предотвратит прямой вход чужака от имени суперпользователя – для полного доступа нужно будет войти как обычный пользователь, а после стать суперпользователем через su. Причина для этого проста: любой потенциальный взломщик, вместо подбора одного пароля (или ключа, как в Вашем сверхпрочном варианте), будет вынужден подбирать два, да еще и знать имя пользователя – мороки куда больше.
Вторая строка заставляет пару сервер–клиент пользоваться более безопасным протоколом для SSH-соединения. Вряд ли есть клиент, его не поддерживающий, поэтому установите этот режим прямо сейчас!
Вдобавок к укреплению пользовательского входа, можно разрешить его только определенным пользователям, так как некоторые названия учетных записей на Linux-машине угадать нетрудно.
AllowUsers eric jeff mike degville
Простой список, разделенный пробелами, разрешит доступ лишь указанным пользователям.
Если хотите быть реально крутым, «привяжите» учетные записи к определенным компьютерам, добавив доменное имя инициирующего сервера (будьте осторожны, доступ из некоторых источников не всегда может исходить из постоянного IP-адреса):
AllowUsers mike@linuxformat.co.uk eric@*.ac.uk
Уж это отвадит злоумышленников от SSH. НВ
Блюз BlueZ
В: Долгое время я пользовался BlueZ 2.25 в Slackware и все работало, но на днях поставил Arch Linux с BlueZ 3.x и оказалось, что в этой новой версии перестал работать параметр passkey. На форумах пишут, что загвоздка в D-Bus, но документации-то нет! Может у меня версия сырая? Или надо пользоваться BlueZ 2.25? Михаил Шагов
О: Это достаточно известная проблема. Все дело в том, что передачей PIN-кода в BlueZ 2.x обычно занималась некоторая сторонняя программа, известная как pin_helper, полный путь к которой и передавался в соответствующем параметре. Она просто запрашивала PIN у пользователя и просто выводила его в STDOUT. BlueZ 3.x сделал шаг вперед – и теперь не только работа с PIN, но и многое другое производится через D-Bus. С одной стороны, это хорошо (D-Bus – гораздо более гибкий механизм, специально созданный для этих целей), а с другой – пользовательские интерфейсы, которые не перешли на D-Bus (в первую очередь, kdebluetooth) не смогут полноценно работать с BlueZ 3.x. Вариантов два: либо откатиться обратно на 2.x, либо наложить на BlueZ патч, возвращающий функциональность pin_helper'. Детали можно найти по адресу: http://kmobiletools.org/node/228. Кроме того, в состав BlueZ 3.x входит утилита passkey – можно воспользоваться ею напрямую:
passkey --default 1234
где 1234 – требуемый PIN-код. Утилиту необходимо держать запущенной в течение всего сеанса связи. ВС LXF