wiki:SSHKEYGEN

Version 17 (modified by krit, 3 years ago) (diff)

--

SSH KEY GEN

  1. Create ssh key at localhost
ssh-keygen -t rsa -b 4096 -C user@remotehost.com

Then they will ask to enter default .ssh path

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

We can key in any passphrase to make extra security but just press enter with empty key it will automate gen-key for you

Enter passphrase (empty for no passphrase):

Now the public and private key will be kept in

ls -al
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
  1. In your local host copy public key (id_rsa.pub) to remote host
ssh-copy-id remote_username@server_ip_address

or with manual ssh with

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
  1. Now you can ssh with out prompt for password

Tunnel ssh

Ref ref

Remote to local

At localhost user create tunnel to remote host with following

ssh -R 8022:localhost:22 remoteUser@remotehost.com

Then, at remote host, user can ssh -p 8022 localUser@127.0.0.1 to localhost

Local to Remote

At localhost user create tunnel to remote host with following

[krit@mini ~]$ ssh -L 2000:localhost:22 remoteUser@remotehost.com

Then, at localhost, user can ssh -p 2000 krit@127.0.0.1 at localhost it will tunnel to remote host

ssh rsync

rsync from local to remote server via ssh we need to install apt install sshpass

[omd@local Test]$ sshpass -p "kukangmak" rsync -a ~/var/log/Rsync/out.txt krit@172.17.0.1:Tmp/Test