How to login into a machine via putty using a script?

In windows we have created a batch file to login into a machine via putty. On clicking the batch file it logins into that machine. Is it possible to create a script in ubuntu to do the same task?


Create a launcher server.desktop with the following content:

[Desktop Entry]
Name=Server Name
Exec=ssh [email protected]
Terminal=true
Type=Application

and give it execution permissions.

Obviously you should put the real user and the real server.domain.com in the Exec= line.

To allow to choose the username, substitute the Exec= line with the following:

Exec=sh -c 'user=$(zenity --entry --title="Set username" --text="Username: " --entry-text="$USER"); if [ -n "$user" ]; then ssh [email protected]; else exit; fi'

Following up enzotib's answer: if you hardcode the login information in every script and file, it will make it more difficult to change it later if needed. A better solution would be creating a SSH configuration file with settings grouped under a host alias.

Instead or running:

ssh [email protected] -p 1234 -i ~/.ssh/id_rsa

you can create a ~/.ssh/config file containing:

Host meh
    HostName meh.example.com
    User admin
    Port 1234
    IdentityFile ~/.ssh/id_rsa

Each of the settings below meh are optional, and when omitted, it will use defaults.

The command would then be:

ssh meh

You're allowed to override settings, the below command would login with username super using the keyfile ~/.ssh/other_key and (provided by the config file) hostname meh.example.com on port 1234:

ssh super@meh -i ~/.ssh/other_key