20 често срещани SSH команди, които трябва да използвате днес ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
13.12.2024

20 често срещани SSH команди, които трябва да използвате днес

SSH (Secure Shell) е широко използван протокол за сигурен достъп до отдалечени сървъри. Той ви позволява да управлявате и взаимодействате с отдалечени системи чрез криптирана връзка. Усвояването на основните SSH команди може значително да подобри производителността ви и да улесни управлението на отдалечени сървъри. По-долу са представени 20 често използвани SSH команди, които всеки системен администратор, разработчик или всеки, който работи със сървъри, трябва да знае.

1. Основна SSH връзка

Тази команда се използва за свързване към отдалечен сървър чрез SSH.

ssh username@remote_host
  • Заменете username с вашето потребителско име и remote_host с IP адреса или името на домейна на сървъра.

Пример:

ssh user@example.com

2. Задаване на порт

По подразбиране SSH използва порт 22. Ако сървърът ви използва друг порт, използвайте флага -p, за да посочите порта.

ssh -p port_number username@remote_host

Пример:

ssh -p 2222 user@example.com

3. Копиране на файлове от локално към отдалечено устройство чрез scp

Използвайте scp (защитено копиране), за да прехвърляте файлове от локалната си машина към отдалечен сървър.

scp local_file username@remote_host:/path/to/destination

Пример:

scp myfile.txt user@example.com:/home/user/

4. Копиране на файлове от отдалечено към локално място с помощта на scp

За да изтеглите файлове от отдалечен сървър на локалната си машина:

scp username@remote_host:/path/to/remote_file /path/to/local_destination

Пример:

scp user@example.com:/home/user/remote_file.txt .

5. Рекурсивно копиране на директории с помощта на scp

За да копирате цели директории (включително поддиректории), използвайте флага -r в scp.

scp -r /path/to/local_directory username@remote_host:/path/to/remote_destination

Пример:

scp -r my_folder user@example.com:/home/user/

6. Изпълнение на команди на отдалечен сървър

Можете да изпълнявате команди на отдалечен сървър, без да отваряте интерактивна SSH сесия.

ssh username@remote_host ‘command_to_execute’

Пример:

ssh user@example.com ‘ls -la /home/user’

7. Използване на удостоверяване с ключ SSH

За да не въвеждате пароли всеки път, можете да използвате удостоверяване с ключ SSH.

  1. Генерирайте двойка SSH ключове:
    ssh-keygen -t rsa
  2. Копирайте публичния ключ на отдалечения сървър:
    ssh-copy-id username@remote_host

След като копирате ключа, можете да влезете в системата без парола.

8. Проверка на дневниците на SSH връзките

За да прегледате опитите за влизане в SSH и регистрите на връзките на сървъра:

sudo cat /var/log/auth.log | grep ‘sshd’

Тази команда е полезна за наблюдение на неоторизирани опити за влизане в системата.

9. SSH тунелиране (пренасочване на портове)

SSH тунелирането ви позволява да пренасочвате трафика от локален порт към отдалечен сървър по сигурен начин.

Пренасочване на локален порт:

ssh -L local_port:remote_host:remote_port username@remote_host

Пример: Пренасочване на локален порт 8080 към порт 3306 на отдалечен сървър.

ssh -L 8080:localhost:3306 user@example.com

Пренасочване на отдалечен порт:

ssh -R remote_port:local_host:local_port username@remote_host

10. SSH към отдалечен сървър с различен файл за идентичност

Ако имате няколко SSH ключа, можете да посочите конкретен ключ с флага -i.

ssh -i /path/to/private_key username@remote_host

Пример:

ssh -i ~/.ssh/id_rsa user@example.com

11. Копиране на файлове чрез rsync през SSH

rsync е по-усъвършенстван инструмент от scp за копиране на файлове и директории.

rsync -avz /path/to/local_directory username@remote_host:/path/to/remote_directory

Пример:

rsync -avz my_folder/ user@example.com:/home/user/

Флагът -a запазва разрешенията на файловете, -v е за многословен изход, а -z позволява компресиране.

12. Проверка на състоянието на SSH връзката

За да проверите дали SSH връзката към отдалечен сървър все още е активна:

ssh -O check username@remote_host

Тази команда проверява състоянието на връзката, без да я прекъсва.

13. Списък на активните SSH връзки

За да направите списък на активните SSH връзки на сървъра, можете да използвате:

who

Или:

w

Тези команди показват кои потребители в момента са влезли в сървъра.

14. Прекратяване на SSH сесия

За да прекратите SSH сесия, просто въведете:

изход

Или натиснете Ctrl D.

15. Настройка на прокси сървър SOCKS с SSH

SSH може да действа като SOCKS прокси, което ви позволява да сърфирате в интернет сигурно през SSH тунела.

ssh -D local_port username@remote_host

Пример:

ssh -D 8080 user@example.com

След това задайте настройките на прокси сървъра на браузъра си на localhost:8080, за да използвате прокси сървъра SOCKS.

16. Пренасочване на SSH агент

Ако искате да използвате локалните си SSH ключове на отдалечен сървър:

  1. Стартирайте SSH агента на локалната си машина:
    eval $(ssh-agent)
    ssh-add ~/.ssh/id_rsa
  2. Свържете се с пренасочване на агента:
    ssh -A username@remote_host

Това ви позволява да използвате SSH от отдалечен сървър към друг сървър, като използвате локалния си ключ.

17. Конфигурационен файл SSH

За да опростите SSH връзките, можете да създадете конфигурационен файл:

  1. Редактирайте или създайте ~/.ssh/config:
    nano ~/.ssh/config
  2. Добавете запис:
    Host myserver
    Име на хоста example.com
    Потребител user
    Порт 2222
    Идентификационен файл ~/.ssh/id_rsa
  3. Свържете се с:
    ssh myserver

18. Проверка на версията на SSH

За да видите коя версия на SSH е инсталирана на вашата система:

ssh -V

Примерен изход:

OpenSSH_8.4p1, OpenSSL 1.1.1k 25 Mar 2021

19. Задаване на интервал на KeepAlive за предотвратяване на изтичане на времето

За да поддържате SSH връзката жива и да предотвратите изтичането на времето, добавете следното в ~/.ssh/config:

Host *
ServerAliveInterval 60

Това изпраща сигнал за поддържане на връзката на всеки 60 секунди.

20. Проверка на наличното дисково пространство на отдалечен сървър

Можете да използвате df през SSH, за да проверите наличното дисково пространство на отдалечен сървър:

ssh username@remote_host ‘df -h’

Пример:

ssh user@example.com ‘df -h’

Тази команда показва наличното дисково пространство в разбираем за човека формат (-h).

Резюме

Тези 20 SSH команди обхващат широк спектър от функции – от основни връзки и прехвърляне на файлове до разширени задачи като тунелиране и използване на SSH ключове. Като овладеете тези команди, можете да управлявате отдалечени сървъри по-ефективно и сигурно. Независимо дали разгръщате приложения, прехвърляте файлове или отстранявате проблеми със сървъра, тези SSH команди са основни инструменти в инструментариума на системния администратор.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills