114 lines
2.9 KiB
Markdown
114 lines
2.9 KiB
Markdown
#network #command #linux #ssh #system
|
||
|
||
---
|
||
|
||
## SSH - control
|
||
### Settings on local host
|
||
Настройка доступа по ключу с использованием файла `./ssh/config`
|
||
1. Сгенерировать ключ (на локальном хосте)
|
||
```bash
|
||
ssh-keygen -t ed25519
|
||
```
|
||
Будет создано 2 файла:
|
||
- Приватный ключ: `~/.ssh/id_ed25519`
|
||
- Публичный ключ: `~/.ssh/id_ed25519.pub`
|
||
|
||
Добавить `pub` ключ на сервер (_`~/.ssh/authorized_keys`_) или
|
||
1. Если файл с директорией не существует - создать
|
||
2. Можно использовать `ssh-copy-id`
|
||
|
||
Добавить конфигурацию в **./ssh/config**
|
||
``` python
|
||
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
|
||
# Port Forward <локальный порт - целевой хост - целевой порт>
|
||
|
||
Host MyServer
|
||
HostName 192.168.1.110
|
||
User emb
|
||
IdentityFile ~/.ssh/id_ed25519
|
||
IdentitiesOnly yes
|
||
Port 22
|
||
LocalForward 5432 10.0.0.5:5432
|
||
```
|
||
|
||
### Settings on remote host
|
||
1. Настройки `/etc/ssh/sshd_config` для входа по ключу:
|
||
```bash
|
||
PasswordAuthentication no
|
||
PubkeyAuthentication yes
|
||
PermitRootLogin prohibit-password
|
||
```
|
||
2. Создать файл `authorized_keys` в папке `.ssh` для конкретного пользователя (например `/home/user/.ssh/authorized_keys`
|
||
3. Добавить данные из `id_ed25519.pub` на локальном ПК
|
||
4. Перезапустить сервис `ssh`
|
||
```bash
|
||
#restart service
|
||
systemctl restart ssh
|
||
|
||
#check state
|
||
systemctl status ssh
|
||
```
|
||
|
||
|
||
### Port forwarding
|
||
|
||
| RDP | VNC | SSH | Telnet | HTTP | HTTPS |
|
||
| ---- | ---- | --- | ------ | ---- | ----- |
|
||
| 3389 | 5900 | 22 | 23 | 80 | 443 |
|
||
|
||
Проброс портов в localhost:
|
||
```bash
|
||
ssh -L 5901:10.10.10.5:5900 user@192.168.10.1
|
||
```
|
||
Копирование файлов на удаленный сервер
|
||
```bash
|
||
scp file.txt root@192.168.1.1:/user/home/workspace
|
||
```
|
||
|
||
---
|
||
|
||
## Network
|
||
Настройка, управления сетевыми интерфейсами
|
||
```bash
|
||
# просмотр текеущего состояния интерфейсов
|
||
ip -br a
|
||
|
||
# включение / выключение интерфейсов
|
||
ip link set eth0 down
|
||
ip link set eth0 up
|
||
```
|
||
Cписок все IP адресов сетевых интерфейсов:
|
||
``` bash
|
||
ip a
|
||
```
|
||
|
||
```bash
|
||
ifconfig
|
||
ifconfig eth0 down
|
||
```
|
||
|
||
Показать все открытые порты (и процессы)
|
||
```bash
|
||
ss -tuln
|
||
# show with process
|
||
ss -tulnp
|
||
```
|
||
|
||
|
||
|
||
|
||
Проверка маршрута следования трафика.
|
||
``` bash
|
||
traceroute
|
||
```
|
||
Cписок все IP адресов сетевых интерфейсов:
|
||
``` bash
|
||
ip a
|
||
```
|
||
Вывод лизов логов dhcp сервера
|
||
```bash
|
||
dhcp-leases-list
|
||
```
|
||
|
||
|