Getting Started
Подключитесь к серверу (порт по умолчанию 22)
$ ssh root@192.168.1.5
Подключиться к определенному порту
$ ssh root@192.168.1.5 -p 6222
Подключение через файл .pem (права доступа 0400)
$ ssh -i /path/file.pem root@192.168.1.5
Выполняет удалённую команду
$ ssh root@192.168.1.5 'ls -l'
Запустите локальный скрипт
$ ssh root@192.168.1.5 bash < script.sh Compresses and downloads from a server $ ssh root@192.168.1.5 "tar cvzf - ~/source" > output.tgz
SCP
Копирование с удалённого устройства на локальное
$ scp user@server:/dir/file.ext dest/
Копирование данных между двумя серверами
$ 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 System-wide config
~/.ssh/config User-specific config
~/.ssh/id_{type} Private key
~/.ssh/id_{type}.pub Public key
~/.ssh/known_hosts Logged in host
~/.ssh/authorized_keys Authorized login key
SCP Options
scp -r Recursively copy entire directories
scp -C Compresses data
scp -v Prints verbose info
scp -P 8080 Uses a specific Port
scp -B Batch mode (Prevents password)
scp -p Preserves times and modes
Пример конфигурации
Host server1 HostName 192.168.1.5 User root Port 22 IdentityFile ~/.ssh/server1.key
Запуск под псевдонимом
$ ssh server1
Прокси-переход
$ ssh -J proxy_host1 remote_host2
$ 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
$ ssh-keygen -t rsa -b 4096 -C "your@mail.com"
-t Type of key
-b The number of bits in the key
-C Provides a new comment
Сгенерируйте 4096-битный ключ RSA, указав адрес электронной почты в качестве комментария.
Generate
Сгенерируйте ключ в интерактивном режиме.
$ 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
