Оптимизируем работу с ssh

Базовые «трюки», облегчающие жизнь.

  • Автоматический вход на сервер без ввода пароля используя файл-ключ.
  • Алиасы
  • Передача файлов

Ключи #

Позволяют подключаться к серверу не вводя пароль.

Советую удалить всё старое и лихое, если вы не помните создавали ли ключи раньше:

rm -rf ~/.ssh

Генерируем ключ:

ssh-keygen -t rsa

Предожение ввести пароль игнорируйте и нажимайет Enter.

Передаём его публичную часть на сервер:

ssh-copy-id -i ~/.ssh/id_rsa 192.168.0.1

И это последний раз, когда вы вводите пароль.

Алиасы #

Вы можете создать псевдонимы для хостов. Это полезно если у сервера:

  • Не 22-ой порт.
  • Длинный нечитаемый адрес вида dev14.server17.tld.
  • Имя пользователя отличается от вашего.
vim ~/.ssh/config
host dobroserver
Hostname 192.168.0.1
Port 1864
User ksevelyar

Вы добавили псевдоним, теперь чтобы соединиться с ним используйте:

ssh dobroserver

Алиас можно дополнять по табу.

Передача файлов #

Для того, чтобы передать несколько файлов сгодится scp:

Передать папку backup на сервер и обратно:

scp -pr /storage/backup/ root@192.168.0.1:/storage
scp -pr root@192.168.0.1:/storage/backup /storage/

Но если вам нужно передать много относительно мелких файлов, или содержимое терабайтового диска по гигабитной сети — нужно использовать tar.

Команда сжимает поток на входе и распаковывает на выходе, в итоге используется максимум от возможностей канала:

cd /storage; tar cf - * | ssh root@192.168.0.1 tar xf - -C /laundry
ssh root@192.168.0.1 "cd /laundry; tar cf - *" | tar xf - -C /storage

Комментарии

Alex

за сжатия пайпа ssh, предпологал возможность но не использовал. Спасибо.

Добавить комментарий