Skip to content

fortis.te.ua

IT блог

Menu
  • Про блог
  • Завантаження
Menu

SSH (Secure Shell)

Posted on 04.12.202204.12.2022 by sirius

Server configuration is in /etc/ssh/sshd_config
Client configuration is in /etc/ssh/ssh_config

ssh-keygen #Генеруємо SSH ключ. По дефолту кладеться в ~/.ssh/

Добавляємо свій ключ на віддалений сервер, при умові що ми маємо доступ до відаленого сервера по SSH:
ssh-copy-id -i ~/.ssh/mykey.pub user@server
Якщо немає доступу до сервера по SSH, то копіюємо вміст публічного ключа або пересилаємо вміст поштою та добавляємо в файл на сервері:
~/.ssh/authorized_keys

ssh user@server -i ~/.ssh/mykey # Зєднання якщо вказаний ключ – встановлюється швидше
ssh -p2222 user@server # Явно вказуємо по якому порту підключатися
ssh -oPort=2222 user@server # Альтернативний варіант, який може використовуватись в конфігураційному файлі ~/.ssh/config

Конфігурація рівня користувача зберігається в файлі:
~/.ssh/config
Конфігурація рівня системи:
/etc/ssh/sshd_config та /etc/ssh/ssh_config

~/.ssh/config

Host 192.168.1.1
User Fox # при підключенні до хоста 192.168.1.1 буде використовуватись логін Fox

Host 192.168.1.*
User Fox # при підключенні до мережі192.168.1.0 буде використовуватись логін Fox

Host *.com
User Fox # при підключенні до хостів в домені .com буде використовуватись логін Fox

Host stage1
Hostname work.stage01.eu.central.example.host.com
User Fox # Створює аліас, щоб не вводити довгу назву сервера. Тепер можна використовувати ssh stage1 замість ssh work.stage01.eu.central.example.host.com

Більш повний файл конфігурації:

Host server
Hostname 192.168.1.1
Port 22
User Fox
IdentityFile ~/.ssh/fox_key

chmod 600 ~/.ssh/config # змінюємо права для файла конфігурації

ssh -J user@server1 user@server2 # Якщо сервер один використовується як бастіон хост, то з командою -J переходимо одразу на потрібний сервер
ssh -J user@server1,user@server2 user@server3 # Перескакуємо через 2 проміжних сервера. Проміжні сервери розділяємо комою.

Host server
Hostname 192.168.1.1
Port 22
User Fox
IdentityFile ~/.ssh/fox_key
Host server2
Hostname 10.10.1.2
ProxyJump Fox@172.31.23.22 #Приклад як прописати проміжний хост(бастіон хост) в файлі конфігурації

Переадресація портів:

Local Port Forwarding
Відкриває доступ до віддаленого порта 80 через локальний 8080
<PC>:8080 —-> <server1>:80
ssh -L 8080:localhost:80 fox@server1

<PC>:8080—-> <server1>—-> <server2>:80
ssh -L 8080:server2:80 fox@server1

При запуску команди, відкриється звичайне ssh зєднання, але в той же час прокинеться порт. І тепер, наприклад веб сторінка сервера буде доступна на локальній машині за посиланням localhost:8080

В config:
LocalForward 8080:localhost:80

Remote Port Forwarding

Відкриває доступ до локального порта 22 через віддалений 5432
<PC>:22 <—- <server1>:5432
ssh -R 5432:localhost:22 fox@server1

В config:
RemoteForward 22:localhost:5432

Dynamic Port Forwarding
Запускає SOCKS proxy на локальному порті 3000
<PC>:3000 —-> Server1 ——> Server2
|__________> Server3
ssh -D 3000 user@server1 # Для прикладу – встановити зєдннання та в браузері локальної машини в налаштуваннях встановити в налаштуваннях Proxy -> SOCKS host : localhost , Port: 3000. Тепер весь трафік Інтернет буде йти через Server1

################################
-f Fork the SSH process int o the background
-n Don’t read from STDIN
-N Don’t run remote commands
-T Don’t allocate a TTY
##################################
ssh -fnNT -D 3000 user@server1 # Запускає “тунель” і ховається в бекграунд. Виловити можна за допомогою команди: ps x | grep ssh

В config:
DynamicForward 3000

Інтегровані програми які використовують SSH
sftp
sftp server@192.168.1.10
sftp>put file1
sftp>bye

scp
scp file1 fox@192.168.1.15:/tmp/
scp fox@192.168.1.15:/tmp/file1 file2

Troubleshooting:

systemctl status sshd
systemctl restart sshd
journalctl -u ssh
sudo ufw status

Залишити відповідь Скасувати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Недавні записи

  • Налаштування DHCP клієнта і сервера на cisco роутері
  • Налаштування статичної маршрутизації на маршрутизаторі cisco (Setup static route in cisco routers)
  • Install Loki and start as service.
  • Create swap space on Ubuntu
  • How to grow partition in AWS instance

Останні коментарі

  1. sirius до Інсталяція Zabbix

Архіви

  • Квітень 2024
  • Грудень 2023
  • Липень 2023
  • Січень 2023
  • Грудень 2022
  • Листопад 2022
  • Жовтень 2022
  • Липень 2022
  • Червень 2022

Категорії

  • AWS
  • BASH
  • cisco
  • Docker
  • Docker
  • GitHub
  • HTTP(s)
  • Jenkins
  • Linux
  • Monitoring
  • Networking
  • ssh
  • Tools
  • Trash
  • Ubuntu 20.04
  • VSphere
  • Windows
  • Zabbix
©2024 fortis.te.ua | Built using WordPress and Responsive Blogily theme by Superb