Log in with an SSH private key on Linux
chmod 600 deployment_key.txt
ssh -i deployment_key.txt [email protected]
References
https://support.rackspace.com/how-to/logging-in-with-an-ssh-private-key-on-linuxmac/
chmod 600 deployment_key.txt
ssh -i deployment_key.txt [email protected]
References
https://support.rackspace.com/how-to/logging-in-with-an-ssh-private-key-on-linuxmac/
extute ip route show
and compare route table before and after connecting to the vpn server to get all required addresses
start.sh
#!/bin/sh [ "$UID" -eq 0 ] || exec sudo "$0" "$@" vpnclient start sleep 2s vpncmd localhost /client /CMD AccountConnect [ConnectionName] dhclient [VPN_Adapter] ip route add [VPN_Server_IP]/32 via [Gateway_Address] dev [Network_Device_Name] ip route del default via [Gateway_Address] dev [Network_Device_Name]
#!/bin/sh [ "$UID" -eq 0 ] || exec sudo "$0" "$@" vpnclient start sleep 2s vpncmd localhost /client /CMD AccountConnect GE dhclient vpn_vpn ip route add 145.245.93.56/32 via 192.168.1.1 dev wlp3s0 ip route del default via 192.168.1.1 dev wlp3s0
stop.sh
#!/bin/sh [ "$UID" -eq 0 ] || exec sudo "$0" "$@" vpncmd localhost /client /CMD AccountDisconnect GE vpnclient stop ip route del default via 192.168.30.1 dev vpn_vpn ip route del 145.245.93.56 via 192.168.1.1 dev wlp3s0 ip route del 192.168.30.0/24 dev vpn_vpn proto kernel scope link src ip route add default via 192.168.1.1 dev wlp3s0 proto dhcp metric 600 echo 'nameserver 8.8.8.8' > /etc/resolv.conf echo 'nameserver 8.8.4.4' >> /etc/resolv.conf
References
https://pupli.net/2016/09/19/how-to-setup-softether-in-ubuntu/
[ "$UID" -eq 0 ] || exec sudo "$0" "$@"
References
https://askubuntu.com/questions/746350/request-root-privilege-from-within-a-script/748362
https://unix.stackexchange.com/questions/28791/prompt-for-sudo-password-and-programmatically-elevate-privilege-in-bash-script
https://stackoverflow.com/questions/3976362/bash-scripts-requiring-sudo-password
You can redirect the output of a command to a file:
cat file > copy_file
or append to it
cat file >> copy_file
If you want to write directly the command is echo ‘text’
echo 'Hello World' > file
Or
# possibility 1: echo "line 1" >> greetings.txt echo "line 2" >> greetings.txt # possibility 2: echo "line 1 line 2" >> greetings.txt # possibility 3: cat <<EOT >> greetings.txt line 1 line 2 EOT
References
https://stackoverflow.com/questions/11162406/open-and-write-data-to-text-file-using-bash-shell-scripting
https://unix.stackexchange.com/questions/77277/how-to-append-multiple-lines-to-a-file
Though timesyncd is fine for most purposes, some applications that are very sensitive to even the slightest perturbations in time may be better served by ntpd, as it uses more sophisticated techniques to constantly and gradually keep the system time on track.
sudo timedatectl set-ntp no
timedatectl
sudo apt-get install ntp
sudo ntpq -p
References
https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-16-04
nohup my_command > my.log 2>&1 & echo $! > save_pid.txt
kill -9 `cat save_pid.txt` rm save_pid.txt
References
https://stackoverflow.com/questions/17385794/how-to-get-the-process-id-to-kill-a-nohup-process
/etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu bionic universe multiverse deb-src http://archive.ubuntu.com/ubuntu bionic universe multiverse deb http://us.archive.ubuntu.com/ubuntu/ bionic universe deb-src http://us.archive.ubuntu.com/ubuntu/ bionic universe deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe deb http://us.archive.ubuntu.com/ubuntu/ bionic multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ bionic multiverse deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates multiverse deb http://security.ubuntu.com/ubuntu bionic-security universe deb-src http://security.ubuntu.com/ubuntu bionic-security universe deb http://security.ubuntu.com/ubuntu bionic-security multiverse deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse
References
https://help.ubuntu.com/lts/serverguide/configuration.html.en
timedatectl list-timezones
sudo timedatectl set-timezone Asia/Tehran
Check if time is correct :
date
Set to UTC
sudo dpkg-reconfigure tzdata
References
https://linuxconfig.org/how-to-change-timezone-on-ubuntu-18-04-bionic-beaver-linux
https://www.cyberciti.biz/faq/howto-set-date-time-from-linux-command-prompt/
https://askubuntu.com/questions/138423/how-do-i-change-my-timezone-to-utc-gmt
Create the RSA Key Pair
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Copy the Public Key to Ubuntu Server
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"
or Copying Public Key Manually
To display the content of your id_rsa.pub key, type this into your local computer:
cat ~/.ssh/id_rsa.pub
You will see the key’s content, which should look something like this:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== demo@test
make sure the ~/.ssh directory exists.This command will create the directory if necessary, or do nothing if it already exists:
mkdir -p ~/.ssh
Now, you can create or modify the authorized_keys file within this directory. You can add the contents of your id_rsa.pub file to the end of the authorized_keys file, creating it if necessary, using this command:
echo public_key_string >> ~/.ssh/authorized_keys
Finally, we’ll ensure that the ~/.ssh directory and authorized_keys file have the appropriate permissions set:
chmod -R go= ~/.ssh
or Copy using ssh-copy-id
ssh-copy-id [email protected] ssh-copy-id [email protected] -p 22000 ssh-copy-id -i id_rsa.pub -p 22000 "[email protected]"
use -i identity_file
for other identities
Authenticate to Ubuntu Server Using SSH Keys
ssh username@remote_host
Disable Password Authentication on your Server
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
sudo systemctl restart ssh
Convert private key to putty
puttygen keyname -o keyname.ppk
ssh “permissions are too open” error
Keys need to be only readable by you:
chmod 400 ~/.ssh/id_rsa
If Keys need to be read-writable by you:
chmod 600 ~/.ssh/id_rsa
References
https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-ubuntu-1604
https://haydenjames.io/how-to-convert-openssh-keys-to-putty-ppk-on-linux-with-puttygen/
https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
https://stackoverflow.com/questions/9270734/ssh-permissions-are-too-open-error
balooctl disable
balooctl status
or
nano ~/.config/baloofilerc
[Basic Settings] Indexing-Enabled=false
References
https://community.kde.org/Baloo/Configuration
https://bbs.archlinux.org/viewtopic.php?id=193169