Команды SSH

Выполнение удаленной команды. Например, посмотреть заполненность ФС удаленной машины:

$ ssh user@host.local df -h

Перезагрузка удаленной машины:

$ ssh user@host.local sudo reboot

Выполнение списка команд записанных в файлSSH:

$ ssh user@host.local "`cat file.txt`"

Редактирование файла на удаленной машине (nano заменяем на свой редактор):

$ nano scp://user@host.local//путь/к/файлу

Копирование содержимого удаленного файла или вывод команды в буфер обмена:

$ ssh user@host.local cat /путь/к/файлу | xclip

Копирование вывода команды:

$ ssh user@host.local uname -a | xclip

Похожий прием можно использовать для сравнения двух файлов:

$ ssh user@host.local cat /путь/к/удаленному/файлу | diff /путь/к/локальному/файлу -

Подключение каталога удаленной машины как сетевой диск. Для этого достаточно установить sshfs:

$ sudo apt install sshfs

Создать каталог для подключения «сетевого диска»:

$ mkdir remote_files

И подключить его:

$ sshfs user@host.local:/home/user ~/remote_files/

Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.

Создание постоянного соединение с удаленной машиной:

Необходимо добавить следующие строки в ~/.ssh/config:

Host host.local
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no

А затем создать соединение:

$ ssh -MNf user@host.local