TGViewer
Системный администратор - Сетевые технологии - Компьютерная помощь Системный администратор - Сетевые технологии - Компьютерная помощь @sysadmin1 · 8.35K subscribers
Post #9899 1.15K
🔐 Работа с SSH (OpenSSH, ключи, туннели, Port Forwarding)

1️⃣ Подключение по SSH
ssh user@host
ssh -p 2222 user@host # Подключение к нестандартному порту
ssh -i ~/.ssh/id_rsa user@host # Подключение с указанием ключа


2️⃣ Генерация SSH-ключей
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"  # Генерация RSA-ключа
ssh-keygen -t ed25519 -C "your_email@example.com" # Генерация Ed25519-ключа (рекомендуется)

- Открытый ключ id_rsa.pub добавляется на сервер (~/.ssh/authorized_keys).
- Закрытый ключ id_rsa хранится локально.

3️⃣ Добавление ключа в агент SSH
eval "$(ssh-agent -s)"  # Запуск агента
ssh-add ~/.ssh/id_rsa # Добавление ключа в агент


4️⃣ Копирование ключа на сервер
ssh-copy-id user@host
cat ~/.ssh/id_rsa.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"


5️⃣ Конфигурация SSH-клиента (~/.ssh/config)
Файл ~/.ssh/config позволяет задать настройки подключения:
Host myserver
HostName example.com
User myuser
Port 2222
IdentityFile ~/.ssh/id_rsa
ForwardAgent yes

Подключение теперь выполняется просто командой:
ssh myserver




📡 Проброс портов (Port Forwarding)

🔄 Локальный порт-форвардинг (L)
Перенаправляет локальный порт (-L local_port:remote_host:remote_port):
ssh -L 8080:127.0.0.1:80 user@host

- Теперь локальный localhost:8080 перенаправляется на host:80.

🔄 Удаленный порт-форвардинг (R)
Перенаправляет порт сервера на локальный компьютер (-R remote_port:local_host:local_port):
ssh -R 9000:localhost:22 user@host

- Теперь подключение к host:9000 попадёт на localhost:22.

🔄 Динамический порт-форвардинг (SOCKS-прокси)
ssh -D 1080 user@host

- Теперь можно использовать localhost:1080 как SOCKS-прокси.



🔀 Обход брандмауэров (Reverse SSH-туннель)
Если сервер за NAT или firewall, создаем обратное подключение:
ssh -R 2222:localhost:22 user@public-server
ssh -p 2222 localhost # Теперь можно подключаться с public-server обратно




📑 Полезные команды

🔍 Просмотр информации о сервере:
ssh user@host 'uname -a && uptime'


📡 Подключение без выполнения команд (для туннелей):
ssh -N -D 1080 user@host


⏳ Подключение с поддержкой восстановления соединения:
autossh -M 0 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -N -D 1080 user@host


🔒 Ограничение команд пользователя в authorized_keys:
command="/path/to/script.sh",no-agent-forwarding,no-X11-forwarding ssh-rsa AAAAB3...




🔥 Дополнительные параметры SSH
🔹 Выключение строгой проверки хоста:
ssh -o StrictHostKeyChecking=no user@host

🔹 Использование прокси:
ssh -o ProxyCommand="nc -X 5 -x proxyhost:1080 %h %p" user@host

🔹 Перезапуск службы SSH:
sudo systemctl restart sshd  # Для systemd
sudo service ssh restart # Для SysVinit

🔹 Проверка лога SSH:
sudo journalctl -u sshd --no-pager | tail -n 20  # Для systemd
sudo tail -f /var/log/auth.log # Для Debian/Ubuntu
sudo tail -f /var/log/secure # Для CentOS


@sysadmin1
  • 👍 5
  • ❤ 4
  • 🔥 3
  • 🎉 2
  • 👨‍💻 1
More from @sysadmin1
  1. Oct 17, 2026Post #12464
  2. Oct 17, 2026Илон вам в помощь 😀 Подписывайтесь на наш канал в MAX и будьте в курсе! 👉 Мы в MAX @sysa…
  3. Oct 17, 2026Post #12462
  4. Oct 17, 2026Файловая система ZFS Часть 1. Отказоустойчивость Часть 2. Работа с данными источник Подпис…
  5. Oct 17, 2026Post #12455
  6. Oct 16, 2026А эникей с метлой ловко это придумал 😂 Подписывайтесь на наш канал в MAX и будьте в курсе…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →