Використання ssh та scp в Ubuntu

У мережі дуже багато матеріалу про чудову команду ssh. У цьому огляді я опишу кілька прикладів використання, лише об'єднавши знайдене на просторах Internet.

Установка ssh в Ubuntu.

У Система-адміністрування-менеджер пакетів Synaptic шукаємо та відзначаємо для встановлення пакет ssh - secure shell client and server (metapackage). Або встановлюємо з командного рядка:

sudo apt-get install ssh

Конфігураційний файл лежить у /etc/ssh/sshd_config , і в ньому для версії Ubuntu 10.04 налаштовано за промовчанням все, що я хочу використати. Запуск\зупинка\перезапуск сервісу (після внесення в конфіг правок): sudo service ssh start\stop\restart . Тепер про використання.

1. ssh та scp без пароля.

Потрібно багато чого. Мені потрібно для автоматизації скриптом внесення змін до деяких системних файлів, перезапису /etc/crontab тощо. Для цього один і той же користувач (usefree) повинен бути на обох комп'ютерах (host1, remotehost) і для нього необхідно згенерувати пару ключів:

ssh-keygen -t rsa

Взагалі потрібно задавати паролі, але в цьому прикладі я не буду, натиснувши «Введення» на пропозицію командного рядка ввести пароль. І далі виконуємо команду:

Для можливості підключатися з remotehost на host1 також без пароля можна скопіювати приватний та публічний ключі з host1 на remotehost:

scp /home/usefree/.ssh/id_rsa* remotehost:/home/usefree/.ssh/

та записати дані про ключі у файл authorized_keys локального комп'ютера, виконавши з remotehost: