ssh - aleksei-khitev/knowledge_base GitHub Wiki

ssh

Генерация ключей ssh

$ ssh-keygen

По умолчанию, ключи будут сохранены в ~/.ssh

Указание метода шифрования

$ ssh-keygen -t rsa

Ключи с заданным именем

$ ssh-keygen -f somekey
$ ll
-rw------- 1 aleksei_khitev aleksei_khitev 2622 Mar 17 15:59 somekey
-rw-r--r-- 1 aleksei_khitev aleksei_khitev  581 Mar 17 15:59 somekey.pub

$ ssh-keygen  -t rsa -f .local/somekey
$ ll .local
-rw------- 1 aleksei_khitev aleksei_khitev 2622 Mar 17 16:02 somekey
-rw-r--r-- 1 aleksei_khitev aleksei_khitev  581 Mar 17 16:02 somekey.pub

В этом случае, ключи будут созданы в текущей папке или по полному пути, заданном в имени

Загрузка публичного ключа на сервер

$ ssh-copy-id user@host

Задача конкретного порта

$ ssh-copy-id user@host -p 2222

Задача файла с ключами

$ ssh-copy-id user@host -i ~/.ssh/mykey

При этом, на сервер отправлен будет файл mukey.pub

Доступы для ключей и конфига ssh

$ chmod 400 ~/.ssh/some_key
$ chmod 400 ~/.ssh/some_key.pub
$ chmode 644 ~/.ssh/config

Задача сервера ssh в конфиге

Host docker
        User some_user
        HostName some_host
        Port 2222
        IdentityFile ~/.ssh/some_key

После этого, можно подключаться просто по имени

$ ssh docker

Proxy через bastion или другой сервер

Host bastion_name
    User [username to go through bastion or another system]
    HostName [bastion or another system to go through]

Host target_server
        User [target server username]
        HostName [target server]
        IdentityFile [.pem key file to connect to target server]
        ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe bastion_name -W %h:%p
        ServerAliveInterval 120
        ServerAliveCountMax 2

Туннель SSH

Host oracle_tunnel_snapshot
        User [username to go through bastion or another system]
        HostName [bastion or another system to go through]
        IdentityFile [.pem key file to connect to target server]
        LocalForward [localport to be used] [target server]:[target server port]
        ServerAliveInterval 120
        ServerAliveCountMax 2   

Назад к linux