Skip to content

ssh

SSH port forward - when local port is forwarded to remote port through SSH tunnel

ssh -g -L <local-port-in-your-machine-to-map>:localhost:<remote-server-port> <linux-username>@<remote-server-ip>

TCP forwarding should be enabled on remote server

/etc/ssh/sshd_config:
AllowTcpForwarding yes

Then you could connect to service on local machine using localhost:<local-port>

Copy file to remote server

scp -i ~/.ssh/id_rsa file.zip user@server.address:/tmp/file.zip

Copy private ssh key to ansible host

scp -i ~/.ssh/yandex yandex yc-user@51.250.76.222:.ssh/id_rsa

Копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home

( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'

Сгенерируйте новый приватный ключ ssh-keygen

  • Скопируйте свой публичный ключ на другой сервер.

Эта команда скопирует публичный ключ пользователя на локальной машине (.ssh/id_rsa.pub) в авторизованные ключи пользователя на удалённой машине (.ssh/authorized_keys)

ssh-copy-id vagrant@192.168.1.36
  • Подключитесь к серверу по SSH-ключу
ssh vagrant@192.168.1.36
  • Настройте файл конфигурации SSH клиента, так чтобы вход на удаленный сервер осуществлялся по имени сервера.
touch ~/.ssh/config && chmod 600 ~/.ssh/config

nano .ssh/config

Host ssh-server
HostName 192.168.1.35
User vagrant
IdentityFile ~/.ssh/ssh-client_rsa
IdentitiesOnly yes

Run SFTP as root

whoever has NOPASSWD sudo right will get a rooted sftp access.

Change /etc/ssh/sshd_config file:

Subsystem sftp sudo -n true && sudo -n /usr/lib/openssh/sftp-server || /usr/lib/openssh/sftp-server

Add your user to allowed sudo without password prompt in file /etc/sudoers.d/dont-prompt:

your_username ALL=(ALL:ALL) NOPASSWD: ALL