Detailed explanation of how to pass password to ssh/scp command in bash script

Detailed explanation of how to pass password to ssh/scp command in bash script

Install SSHPASS

For most recent operating systems, the sshpass package is available in the default package repositories. It can be installed on your system using the following command.

On Debian:

$ sudo apt install sshpass

On CentOS:

$ yum --enablerepo=epel -y install sshpass

Using SSHPASS

sshspass uses the sshspass environment variable to store the user password. You need to first use the sshspass variable and password and then use this command. Below is a simple shell script using sshspass.

export SSHPASS=ry3AvbWO0oupYX9HCMzp0Axx

sshpass -e scp testfile.csv [email protected]:/uploads/

You can also run ssh commands using sshpass as shown below

sshpass -e ssh [email protected]

Solve the problem of SCP command requiring password in shell script

Use a key file.

Here it is assumed that host A (192.168.100.3) is used to obtain the file of host B (192.168.100.4).

Execute the following command on host A to generate a pairing key:

ssh-keygen -t rsa

Press Enter when prompted. The public key is saved in the .ssh directory under the user directory. For example, root is stored in:

/root/.ssh/id_rsa.pub

Copy the id_rsa.pub file in the .ssh directory to the ~/.ssh/ directory of host B and rename it to authorized_keys.

Execute commands on host A to establish trust with host B, for example (assuming the IP of host B is: 192.168.100.4):

scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys

Next, you can use the scp and ssh commands to obtain files from host B without a password. ssh 192.168.100.4 Press Enter and no password is required.

Note: Actually, just add the content of id_rsa.pub to the authorized_keys of the other machine.

You may also be interested in:
  • Vue-CLI 3 scp2 automatic deployment of projects to the server method
  • Python calls scp to upload files to the server example
  • How to use ssh and scp through secret keys in Windows
  • Python executes scp command to copy files and folders to the directory of the remote host
  • Linux uses the scp command to copy files to the local computer and copy local files to the remote server
  • Python Pexpect implements the method of scp copying with password input
  • Detailed explanation of using scp command to copy files remotely in Linux
  • scp copies data from one linux server to another linux server
  • How to implement scp operation in Android

<<:  MySQL batch removes spaces in a certain field

>>:  A brief discussion on the efficiency of MySQL subquery union and in

Recommend

JavaScript to implement login form

This article example shares the specific code of ...

HTML form tag tutorial (2):

This tutorial introduces the application of vario...

How to remove the underline of a hyperlink using three simple examples

To remove the underline of a hyperlink, you need t...

What is html file? How to open html file

HTML stands for Hypertext Markup Language. Nowada...

VUE implements bottom suction button

This article example shares the specific code of ...

Detailed explanation of common operations of Docker images and containers

Image Accelerator Sometimes it is difficult to pu...

Detailed instructions for installing mysql5.7 database under centos7.2

The mysql on the server is installed with version...

Solution to forget password when installing MySQL on Linux/Mac

Preface This article mainly introduces the releva...

Detailed explanation of samba folder sharing server configuration under centos

1. Introduction Recently I found that there are m...

How to set up scheduled tasks in Linux and Windows

Table of contents Linux 1. Basic use of crontab 2...

Summary of the use of CSS scope (style splitting)

1. Use of CSS scope (style division) In Vue, make...

Examples of correct judgment methods for data types in JS

Table of contents Preface Can typeof correctly de...

Common errors and solutions for connecting Navicat to virtual machine MySQL

Question 1 solve Start the service: service mysql...

Example of using setInterval function in React

This article is based on the Windows 10 system en...