In a Nutshell.

[Kotlin, FOSS, Developer's Life.]

SSH – Мои заметки

Очень частно использую SSH, и у меня скопилось немного информации, взятой с разных мест.

Публикую её.

SSH

Команды

Ключи

ssh-keygen # генерация ключа
ssh-keygen -p # изменить пароль на ключ
ssh-copy-id user@server # отправить ключ на сервер
ssh-keygen -R server # удалить ключ сервера
ssh-keygen -R 127.0.0.127 # удалить ключ IP

Копирование

scp path/myfile user@8.8.8.8:/full/path/to/new/location/
scp user@8.8.8.8:/full/path/to/file /path/to/put/here

Удалённое исполнение кода

ssh user@server ls /etc/ # выполнить команду и закрыть соединение
ssh user@server -t remove_command # с управляющим терминалом
ssh user@8.8.8.8 command > my_file # сохранение stdout в локальный файл
mycommand | scp user@8.8.8.8:/path/remote_file

Алиасы

Файл: ~/.ssh/config

Пример:

Host * #default options
    User root
    Compression yes
Host ric
    Hostname ооо-рога-и-копыта.рф
    User Администратор
    ForwardX11 yes
    Compression yes
Host home
    Hostname myhome.dyndns.org
    User vasya
    PasswordAuthentication no

Подробнее:

man ssh_config

Проброс X-сервера

Локально вводим:

ssh -XYC user@SERVER

Для винды точно пашет:

  • ssh ric rdesktop -k en-us 192.168.1.1 -g 1900×1200

Конфиг для этого серва:

Host ric
    Hostname ооо-рога-и-копыта.рф
    User Администратор
    ForwardX11 yes
    Compression yes

Socks-proxy

ssh -D 8080 user@server

-C – сжимать трафик

/etc/ssh/sshd_config:

(фрагмент)
Port 22
Port 443

А вот кусок ~/.ssh/config с ноутбука, который описывает vpn

Host vpn
    Hostname desunote.ru
    User vasya
    Compression yes
    DynamicForward 127.1:8080 #ленивый способ напсать 127.0.0.1
    Port 443

Файлы и директории

~/.ssh/id_rsa.pub – открытый ключ

~/.ssh/id_rsa – закрытый ключ

~/.ssh/known_hosts – чужие ключи

~/.ssh/authorized_keys – файл (644) на сервере, куда кладут открытый ключ

/etc/ssh/ssh/host/rsa_key – ключ (на сервере)

/etc/ssh/ssh/host/rsa_key.pub – ключ (на сервере)

Программы

sshfs

comments powered by Disqus