Remote Control Linux Client using Passwordless SSH
Remote Control Linux Client using Passwordless SSH
Suppose the hostname of five client nodes are compute-1, compute-2, compute-3, compute-4, and compute-5.
Step 1. Create the authentocation key on Remote SSH for accessing to client or computing node.
Use ssh-keygen
to generate authentication key.
ssh-keygen
Then you are asked to set where you want to save the key files. Just Enter to use default setting.
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rangsiman/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Enter three times to use default value. Then you will get the warning message. Now it's finished.
The key fingerprint is:
--------------------------------------------------- rangsiman@RemoteSSH
The key's randomart image is:
+--[ RSA 2048]----+
| .==. E |
| o.o.* = |
|. o = = |
| + o . + |
| + + S |
| o o . |
| . |
| |
| |
+-----------------+
Look at $HOME/.ssh/. There you should have id_ras and id_ras.pub files. Now, copy id_ras.pub to authorized_keys file.
cp id_ras.pub authorized_keys
Step 2. Create automatic script to send token authentication key to all clients.
On Remote SSH, create new bash script and copy/paste following code to bash script.
cd $HOME/.ssh
for i in compute-{1..5}
do
scp -r id_ras id_rsa.pub authorized_keys $USER@$i:$HOME/.ssh/
done
Step 3. Run script
Change permission of script using
chmod +x bash_script.sh
You also must change the hostname of client before run the script !
Then run script
./bash_script.sh
Files specified in scp line will be sent to compute-1, compute-2, compute-3, compute-4, and compute-5.
When it's done, you are able to access to client using SSH passwordless.
Rangsiman Ketkaew