КМБ - Linux/AI/DevOps - содружество молодых и отчаянных
26.06 · ред.
Полезные команды SSH
Приветствую друзья!👋
Буквально на днях возился с подключением по #SSH к удаленным ВМ и наткнулся на интересные, и супер полезные команды, которые могут автоматизировать (ну почти) процесс работы с удаленными узлами.👇
✅Быстрый запуск команд
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины: 👉$ ssh user@host df -h А так — перезагрузить ее: 👉$ ssh user@host sudo reboot
✅Можно сгруппировать блок команд и пустить их в работу
Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
👉$ ssh user@host "cat file.txt
"
✅Моментальное редактирование файлов
Чтобы отредактировать файл на удаленной машине, не требуется заходить на нее и использовать консольный редактор. На самом деле файл можно открыть в твоем любимом текстовом редакторе на локальной машине (gvim заменяем на свой редактор): 👉$ gvim scp://user@host//путь/к/файлу
✅Копирование файлов и команд
Если необходимо скопировать содержимое удаленного файла или вывод команды в буфер обмена, не обязательно выводить его на экран или открывать в текстовом редакторе и копировать вручную. Можно использовать следующую команду: 👉$ ssh user@host cat /путь/к/файлу | xclip А так можно скопировать вывод команды: 👉$ ssh user@host uname -a | xclip
✅Возможность сравнения удаленного и локального файла без копирования
Похожий прием можно использовать для сравнения двух файлов: 👉$ ssh user@host cat /путь/к/удаленному/файлу | diff /путь/к/лoкальному/файлу -
✅Работа с удаленными файлами с помощью локального файлового менеджера
Не всегда удобно работать с большим количеством файлов с помощью консольных команд или mc, запущенного на удаленной машине. Но всегда можно подключить любой каталог удаленной машины как сетевой диск. Для этого достаточно установить sshfs: 👉$ sudo apt-get install sshfs Создать каталог для подключения «сетевого диска»: 👉$ mkdir remote_files И подключить его: 👉$ sshfs user@host:/home/user ~/remote_files/ Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.
✅Быстрое копирование ключей
Хоть и копирование публичного ключа на удаленный сервер — задача простая, но она требует выполнения нескольких действий вручную. Если тебя это напpягает, скопировать ключ можно в автоматическом режиме: 👉$ ssh-copy-id user@host При этом не обязательно копировать основной ключ, с помощью флага -i можно указать любой другой: 👉$ ssh-copy-id -i ~/my_key.pub user@host
✅Установка постоянного соединения с удаленным узлом
Если в течение дня ты часто подключаешься к одной машине, в том числе на несколько минут или секунд (чтобы просто запустить одну команду, например), есть смысл создать с ней постоянное соединение. Твой комп будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор. 🧑💻Добавь следующие строки в ~/.ssh/config: Host host ControlPath ~/.ssh/master-%r@%h:%p ControlMaster no А затем создай соединение: 👉$ ssh -MNf user@host
#localhost #linux #devops #cloud #sys🤝Вступайте в наше сообщество - тут интересно!🌞
Стаснилав Сороченко
· 30.06
По моему полезно) лучше иметь представление об этом чем не знать вовсе.
ответить
Юлия Брунер
· 26.06
Учитывая куберизацию и в целом секурность, ssh команды не то, что пригодится в повседневности
ответить
еще контент в этом сообществе
еще контент в этом соообществе
КМБ - Linux/AI/DevOps - содружество молодых и отчаянных
26.06 · ред.
войдите, чтобы увидеть
и подписаться на интересных профи