20 често срещани SSH команди, които трябва да използвате днес
SSH (Secure Shell) е широко използван протокол за сигурен достъп до отдалечени сървъри. Той ви позволява да управлявате и взаимодействате с отдалечени системи чрез криптирана връзка. Усвояването на основните SSH команди може значително да подобри производителността ви и да улесни управлението на отдалечени сървъри. По-долу са представени 20 често използвани SSH команди, които всеки системен администратор, разработчик или всеки, който работи със сървъри, трябва да знае.
1. Основна SSH връзка
Тази команда се използва за свързване към отдалечен сървър чрез SSH.
- Заменете username с вашето потребителско име и remote_host с IP адреса или името на домейна на сървъра.
Пример:
2. Задаване на порт
По подразбиране SSH използва порт 22. Ако сървърът ви използва друг порт, използвайте флага -p, за да посочите порта.
Пример:
3. Копиране на файлове от локално към отдалечено устройство чрез scp
Използвайте scp (защитено копиране), за да прехвърляте файлове от локалната си машина към отдалечен сървър.
Пример:
4. Копиране на файлове от отдалечено към локално място с помощта на scp
За да изтеглите файлове от отдалечен сървър на локалната си машина:
Пример:
5. Рекурсивно копиране на директории с помощта на scp
За да копирате цели директории (включително поддиректории), използвайте флага -r в scp.
Пример:
6. Изпълнение на команди на отдалечен сървър
Можете да изпълнявате команди на отдалечен сървър, без да отваряте интерактивна SSH сесия.
Пример:
7. Използване на удостоверяване с ключ SSH
За да не въвеждате пароли всеки път, можете да използвате удостоверяване с ключ SSH.
- Генерирайте двойка SSH ключове:ssh-keygen -t rsa
- Копирайте публичния ключ на отдалечения сървър:ssh-copy-id username@remote_host
След като копирате ключа, можете да влезете в системата без парола.
8. Проверка на дневниците на SSH връзките
За да прегледате опитите за влизане в SSH и регистрите на връзките на сървъра:
Тази команда е полезна за наблюдение на неоторизирани опити за влизане в системата.
9. SSH тунелиране (пренасочване на портове)
SSH тунелирането ви позволява да пренасочвате трафика от локален порт към отдалечен сървър по сигурен начин.
Пренасочване на локален порт:
Пример: Пренасочване на локален порт 8080 към порт 3306 на отдалечен сървър.
Пренасочване на отдалечен порт:
10. SSH към отдалечен сървър с различен файл за идентичност
Ако имате няколко SSH ключа, можете да посочите конкретен ключ с флага -i.
Пример:
11. Копиране на файлове чрез rsync през SSH
rsync е по-усъвършенстван инструмент от scp за копиране на файлове и директории.
Пример:
Флагът -a запазва разрешенията на файловете, -v е за многословен изход, а -z позволява компресиране.
12. Проверка на състоянието на SSH връзката
За да проверите дали SSH връзката към отдалечен сървър все още е активна:
Тази команда проверява състоянието на връзката, без да я прекъсва.
13. Списък на активните SSH връзки
За да направите списък на активните SSH връзки на сървъра, можете да използвате:
Или:
Тези команди показват кои потребители в момента са влезли в сървъра.
14. Прекратяване на SSH сесия
За да прекратите SSH сесия, просто въведете:
Или натиснете Ctrl D.
15. Настройка на прокси сървър SOCKS с SSH
SSH може да действа като SOCKS прокси, което ви позволява да сърфирате в интернет сигурно през SSH тунела.
Пример:
След това задайте настройките на прокси сървъра на браузъра си на localhost:8080, за да използвате прокси сървъра SOCKS.
16. Пренасочване на SSH агент
Ако искате да използвате локалните си SSH ключове на отдалечен сървър:
- Стартирайте SSH агента на локалната си машина:eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa - Свържете се с пренасочване на агента:ssh -A username@remote_host
Това ви позволява да използвате SSH от отдалечен сървър към друг сървър, като използвате локалния си ключ.
17. Конфигурационен файл SSH
За да опростите SSH връзките, можете да създадете конфигурационен файл:
- Редактирайте или създайте ~/.ssh/config:nano ~/.ssh/config
- Добавете запис:Host myserver
Име на хоста example.com
Потребител user
Порт 2222
Идентификационен файл ~/.ssh/id_rsa - Свържете се с:ssh myserver
18. Проверка на версията на SSH
За да видите коя версия на SSH е инсталирана на вашата система:
Примерен изход:
19. Задаване на интервал на KeepAlive за предотвратяване на изтичане на времето
За да поддържате SSH връзката жива и да предотвратите изтичането на времето, добавете следното в ~/.ssh/config:
ServerAliveInterval 60
Това изпраща сигнал за поддържане на връзката на всеки 60 секунди.
20. Проверка на наличното дисково пространство на отдалечен сървър
Можете да използвате df през SSH, за да проверите наличното дисково пространство на отдалечен сървър:
Пример:
Тази команда показва наличното дисково пространство в разбираем за човека формат (-h).
Резюме
Тези 20 SSH команди обхващат широк спектър от функции – от основни връзки и прехвърляне на файлове до разширени задачи като тунелиране и използване на SSH ключове. Като овладеете тези команди, можете да управлявате отдалечени сървъри по-ефективно и сигурно. Независимо дали разгръщате приложения, прехвърляте файлове или отстранявате проблеми със сървъра, тези SSH команди са основни инструменти в инструментариума на системния администратор.