Гарантия возврата средств - 60 дней!
SSH Linux. Команды для настройки и управления сервером | Well-Web - твой провайдер хостинга!
- 01.01.2023
- 0
- admin
SSH — самый распротсраненный инструмент системного администратора. Каждый день тысячи людей используют SSH для подключения к серверам, VPS/VDS, домашним машинам, роутеpам и даже смартфонам. SSH-клиенты есть для всех сколько-нибудь популярных платфоpм, а сервер SSH встраивают даже в умные лампочки. Но готов ли ты сказать, что на самoм деле знаешь обо всех возможностях SSH?Свободная реализaция протокола SSH, названная OpenSSH, была выпущена разработчиками OpenBSD еще в 1999 году. И сегодня это де-факто стандaрт безопасного и удобного подключения к удаленной кoнсоли. Спустя семнадцать лет разработки в OpenSSH появилось огромное количеcтво возможностей, настроек и режимов работы, о которых знают дaлеко не все пользователи.
Эта руководство — своего рода сборник быстрых рецептов, который ты можeшь заучить или положить в закладки и всегда пользоваться. Команды приведены для Linux, но большинство из них будут работать и в любой другой ОС, для которой еcть сборка OpenSSH. Удаленный юзер и сервер в тексте всегда обозначаются как user@server, а по отдeльности как <user> и <server>.
1. Выполняем быстро одну команду на сервере Linux
Для этого в командной строке пишем
ssh user@server "service httpd restart"
Эта команда перезагрузит веб сервер httpd, и у Вас не будет необходимости авторизовываться на нем. Вместо “service httpd restart” – можно написать любую команду.
2. Подключаем любой каталог сервера как папку на ПК, с помощью sshfs
Для этого на сервере делаем следующее:
sudo yum install sshfs
Создаем каталог, куда будем монтировать папкуmkdir ~/server_files
Затем подключаем ее на локальном ПК, командой
sshfs user@server:/home/user ~/server_files/
3. Генерация случайных паролей в CentOS, без pwgen
Для этого достаточно выполнить команду
cat /dev/urandom| tr -dc 'a-zA-Z0-9' | fold -w 10| head -n 4
Выведено будет 4 строки, по 10 символов.
4. Массово меняем права на файлы и папки
Для того, что бы поменять права для всех директорий внутри папки /path/to/folder , на 755
find /path/to/folder -type d | xargs chmod 755
Поменять права для всех файлов, устанавливаем 644
find /path/to/folder -type f | xargs chmod 644
5. Чем занята память на сервере? Смотрим размер директорий на сервере по SSH
Это довольно просто, и делается одной командой:
du -lh --max-depth=1
6. Удаляем из файла пустые строки, с помощью grep, по SSH
Пишем команду:
grep -v "^$" filename > newfilename
7. Меняем в файле все вхождения слова новое на старое, в консоли SSH
Это делается командой sed :
sed -i 's/новое/старое/g' /path/file.txt
8. Ищем файл по имени, на сервере Linux, с помощью консоли
Нам поможет команда Findfind ~/ -type f -name test
Если известно только начало имени – можно использовать такую конструкцию :find ~/ -type f -name test*
9. Меняем кодировку документов в папке, с помощью командной строки, с CP-1251 на UTF-8
Для этого пишем небольшой bash-скрипт в той директории где лежат файлы для конвертации –
nano convert.sh
#!/bin/bash
for i in `find ./ -name "*.html"` do tr -d "\r" < $i > $i.tr iconv -f cp1251 -t utf-8 < $i.tr > $i.utf rm $i $i.tr mv $i.utf $i
done
Затем сохраняем и запускаем скрипт
sh convert.sh
10. Удаляем файлы с определенным расширением в командной строке Linux
Для этого пишем команду, в которой .jpg – меняем на нужный (или лучше сказать ненужный) формат файла.
find . -type f -name \*.jpg | xargs rm -f
11. Копируем файлы с одного сервера на другой с помощью rsync
На втором сервере должен быть установлен rsync, если его нет нужно выполнить команду
yum install -y rsync
Затем идем на сервер, с которого необходимо копировать данные и выполняем следующую команду
rsync -avz --stats --progress /path/to/dir/ root@second.serv:/path/to/dir/
обратите внимание, что бы в конце первого и второго пути стоял /
12. Подключение цепочки SSH
Допустим, на одном из серверов заблокирован Ваш IP, по ошибке, и нужно зайти на сервер, с помощью другого имеющегося сервера. Для этого пишем следующее:
ssh -t user@serv1 ssh user@serv2
13. Проверка скорости подключения по SSH
Для этого у Вас должна быть установлена утилита pv ( sudo yum install pv ), выполняем следующую команду
yes | pv | ssh user@server 'cat > /dev/null'
И видим скорость подключения к серверу по SSH
14. Нестабильный интернет и постоянно рвется связь с сервером по SSH? Устанавливаем вечную сессию по SSH.
Подключаемся к серверу следующей командой:
autossh -M50000 -t user@server ‘screen -raAd mysession’
Даже если соединение прервется, соединение останется открытым и при возникновении сигнала, Вы сможете продолжить работу с сервером.
15. Скопировать файл с сервера на локальный ПК
В этом поможет команда:
scp user@server:file.txt /path/to/dir
16. Импорт базы данных MySQL по SSH
Загружаем дамп БД на сервер и пишем следующую команду (исходим из того что БД и пользователя Вы уже создали)
mysql -ulogin -ppass database_name < dump_name.sql
17. Экспорт дампа БД по SSH в SQL файл
Для этого используем утилиту MySQLdump
mysqldump -ulogin -ppass database_name > dump_name.sql
Статья рассчитана на людей которые уже имеют знания в администрирование серверов. В ближайшем будущем напишем статью для новичков с базовыми командами.
WELL-WEB 2023