4 способа установки публичных ключей на удаленный ssh-сервер

Продолжают радовать консольные гуру сайта commandlinefu.com. На этот раз они предлагают способы установки публичных ключей на удаленный ssh-сервер, что позволяет входить на него без пароля. Например, так:

ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host


или так:

scp ~/.ssh/id_rsa.pub [email protected]:.ssh/authorized_keys


Добавлю еще для коллекции:

cat ~/.ssh/id_rsa.pub | [email protected] "cat - >> .ssh/authorized_keys"


Ну и вершина консольного изврата на эту тему:

ssh [email protected] 'cat >> ~/.ssh/authorized_keys2' < ~/.ssh/id_rsa.pub
  • +6
  • 26 августа 2010, 11:55
  • yababay
  • 1

Админский бубен из отходов производства

После изготовления ностальгической флэшки у меня остались металлические «блинчики» и «дверцы» от дискет, а это, как известно, лучший материал для изготовления админского бубна. Кроме перечисленных железок потребовалось два диска (Windows-2000 и Knoppix) плюс тюбик мгновенного китайского клея. Диски склеиваются картинками наружу, дверцы особым образом надрезаются, на образовавшиеся лепестки нанизываются кружочки (см. фото). Получившиеся погремушки приклеиваются к дискам. Всей работы на 15 минут, сделал пока шел любимый сериал.





Гремит, правда, не очень, но выглядит стильно
  • +9
  • 24 августа 2010, 21:26
  • yababay
  • 3

"Обезжиривание" текстовых файлов

Бывают случаи, когда в текстовом файле нужно удалить пробелы в начале и конце строк (например в html для оптимизации трафика при передаче по сети). Для этого консольные гуру сайта commandlinefu.com предлагают следующее решение:

sed 's/^[ \t]*//;s/[ \t]*$//' -i file

Мне в этом примере понравилось то, что можно, оказывается, указывать несколько шаблонов поиска/замены, разделяя их знаком ";".
  • +9
  • 24 августа 2010, 20:28
  • yababay
  • 2

Маленькие секреты MD5

Алгоритм MD5 — одно из величайших и полезнейших достижений компьютерной мысли и, конечно же, в командной строке Linux есть инструменты для работы с ним. Однако пользоваться ими нужно с умом. Вот, например, специально созданная утилита md5sum:

echo -n blablabla | md5sum 
1a36591bceec49c832079e270d7e8b73  -

Если вы обратили внимание — в конце вычисленного хэша стоит минус. Зачем он нужен — ума не приложу. От этого глюка свободна другая последовательность:

echo -n blablabla | openssl md5
1a36591bceec49c832079e270d7e8b73

Как видим, результат тот-же, но без всяких лишних минусов.

У самых внимательных камрадов может возникнуть вопрос: зачем в обоих примерах ключ -n у команды echo? Он удаляет символ перевода строки, которым заканчивается вывод команды echo по умолчанию. Попробуйте без этого ключа, и вы увидите, что хэш получается совсем другой:

echo blablabla | openssl md5
d1bf8fc6af9166875316587ad697a719
  • +8
  • 19 августа 2010, 22:48
  • yababay
  • 14

Не прозевать конец месяца

Очередной шедевр с сайта www.commandlinefu.com/

[ `date --date='next day' +'%B'` == `date +'%B'` ] || echo 'end of month' && echo 'not end of month'

Эта команда, если ее прописать в автозагрузку, просигнализирует, начался или нет последний день месяца. Многие не вспоминают вовремя об этом событии и первого числа просыпаются без доступа к Интернету. Вместо echo можно, например, воспроизводить какую-нибудь соответствующую мелодию или рингтон.
  • +6
  • 12 августа 2010, 01:52
  • yababay
  • 1

Создаем сокеты и серверы за считанные секунды

В Linux с сокетами (сетевыми соединениями) можно работать как с файлами. Например, зная, что на порту 3333 компьютера с IP-адресом 192.168.0.200 ждет запросов некий сервер, можно послать ему информацию точно так же, как мы записали бы ее в обычный файл:

echo 'Hello, Mtaalamu!' > /dev/tcp/192.168.0.200/3333

Может случиться так, что на компьютере отсутствует псевдоустройство /dev/tcp (или /dev/udp). В таком случае его легко создать командой:

mknod /dev/tcp c 30 36

(от имени корневого пользователя, конечно же).



( Читать дальше )
  • +13
  • 12 августа 2010, 00:04
  • yababay
  • 3

Изменение размеров картинок из командной строки

Если нужно изменить размер множества цифровых изображений, можно воспользоваться пакетом imagemagick. Сначала подготовим каталоги:

cd /home/user/images
mkdir resized_images
cp /home/user/images/* /home/user/images/resized_images


Теперь собственно изменение размеров:

mogrify -resize 800 *.jpg

Эта команда впишет ваши картинки в размер 800х600 с сохранением пропорций. Если таковое не нужно, команда выглядит так:

mogrify -resize 800×600! *.jpg

Первоисточник здесь.

Как стать online-диджеем

Продолжая эксперименты с ffserver решил создать Интернет-трансляцию звука, т.е. то, что называется online-радио. Оказывается, ничего сложного.




( Читать дальше )

Бабайкина консолька

Давно собирался реализовать идею: уроки программирования online. Суть в том, чтобы на веб-страницу выложить flash-объект, в который транслируется всё, что я делаю в консоли. Человек смотрит, учится, а голосовое двустороннее общение можно организовать, например, посредством Скайпа. Недавно перенес свой домен на домашний шлюз и появилось всё необходимое, чтобы данный сервис запустить. Особых секретов здесь нет, но решил поделиться, а также закрепить навыки в письменной форме.




( Читать дальше )

Автоматический удовлетворитель для pppoe-start

Столкнулся с необычной проблемой: после небольшой и вполне безобидной доработки домашнего шлюза перестал запускаться pppoe-клиент. В ручном режиме запускается: входишь через ssh, вводишь sudo /usr/sbin/pppoe-start и вуаля. А вот команда, /usr/sbin/pppoe-start, прописаная в /etc/rc.d/rc.local не включает внешнюю сеть, хоть убейся. Я уж и через 5-секундную паузу пытался запустить, и полный путь к конфигам указывал, и цикл с многократным повторением команды делал — без толку. До корней проблемы так и не докопался, но решение нашлось. Примерно такое, какое предпринял барон Мюнгхаузен, вытащивший себя самого и свою лошадь за волосы из болота.




( Читать дальше )