Начало работы
Подключение
Подключение к серверу (порт по умолчанию 22) Сценарий оболочки $ ssh [email protected]
Подключение на определенном порту
```Шелл-скрипт
$ ssh [email protected] -p 6222
Подключение через pem-файл (права 0400)
$ ssh -i /path/file.pem [email protected]
См: SSH Permissions
Выполнение
Выполняет удаленную команду ``Шелл-скрипт $ ssh [email protected] ’ls -l'
Вызов локального скрипта
```Шелл-скрипт
$ ssh [email protected] bash < script.sh
Сжатие и загрузка с сервера
$ ssh [email protected] "tar cvzf - ~/source" > output.tgz
SCP
Копирование с удаленного компьютера на локальный Шелл-скрипт $ scp user@server:/dir/file.ext dest/
Копирование между двумя серверами
```ll-скрипт
$ scp user@server:/file user@server:/dir
Копирование с локального сервера на удаленный командный сценарий $ scp dest/file.ext user@server:/dir
Копирует целую папку
```Шелл-скрипт
$ scp -r user@server:/dir dest/
Копирует все файлы из папки командный сценарий $ scp user@server:/dir/* dest/
Копирует из папки сервера в текущую папку
```Шелл-скрипт
$ scp user@server:/dir/* .
Расположение конфигурации
Путь к файлу | Описание |
---|---|
/etc/ssh/ssh_config |
Общесистемная конфигурация |
~/.ssh/config |
Конфигурация для конкретного пользователя |
~/.ssh/id_{type} |
Личный ключ |
~/.ssh/id_{type}.pub |
Открытый ключ |
~/.ssh/known_hosts |
Хост, с которого осуществляется вход |
~/.ssh/authorized_keys |
Ключ авторизованного входа |
Параметры SCP
Опции | Описание |
---|---|
scp -r |
R рекурсивное копирование целых каталогов |
scp -C |
C сжимает данные |
scp -v |
Печатает v подробную информацию |
scp -P 8080 |
Используется определенный порт P |
scp -B |
|
scp -p |
P резервирует время и режимы |
Пример конфигурации
``toml Хост server1 HostName 192.168.1.5 Пользователь root Порт 22 IdentityFile ~/.ssh/server1.key
Запуск по псевдониму
``Сценарий оболочки
$ ssh server1
См: Полный Параметры конфигурации
ProxyJump
Шелевой сценарий $ ssh -J proxy_host1 remote_host2
```Шелл-скрипт {.wrap}
$ ssh -J user@proxy_host1 user@remote_host2
Многократные переходы
$ ssh -J user@proxy_host1:port1,user@proxy_host2:port2 user@remote_host3
ssh-copy-id
$ ssh-copy-id user@server
Копирование на сервер псевдонимов
$ ssh-copy-id server1
Копирование определенного ключа
$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
SSH keygen
ssh-keygen
‘‘‘shell script $ ssh-keygen -t rsa -b 4096 -C “[email protected]”
----
| - | - | - |
|---|------|-------------------------------|
| | | `-t` | [Тип](#key-type) ключа |
| | | `-b` | Количество бит в ключе |
| | | `-C` | Предоставляет новый комментарий |
{.left-text}
Генерация ключа RSA 4096 бит с указанием электронной почты в качестве комментария
### Генерировать {.col-span-2 .row-span-2}
Генерация ключа в интерактивном режиме
сценарий оболочки
$ ssh-keygen
Укажите имя файла
$ ssh-keygen -f ~/.ssh/filename
Генерация открытого ключа из закрытого ключа
$ ssh-keygen -y -f private.key > public.pub
Изменить комментарий
$ ssh-keygen -c -f ~/.ssh/id_rsa
Изменение парольной фразы закрытого ключа
$ ssh-keygen -p -f ~/.ssh/id_rsa
Тип ключа
- rsa
- ed25519
- dsa
- ecdsa
known_hosts
Поиск по известным_хостам командный сценарий $ ssh-keygen -F <ip/hostname>
Удалить из известных_хостов
```хилый скрипт
$ ssh-keygen -R <ip/hostname>
Формат ключа
- PEM
- PKCS8
Также см.
- OpenSSH Config File Examples (cyberciti.biz)
- ssh_config (linux.die.net)