sshpass之非交互SSH密码验证

简介:

    SSH登陆不能在命令行中指定密码。sshpass用于非交互SSH的密码验证,一般用在shell脚本中,无须手动输入密码。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。


一、安装sshpass:

1. 通过源码编译安装

1
2
3
4
# http://sourceforge.net/projects/sshpass/ 下载地址
$ tar  - zxvf sshpass - xx.tar.gz
$ . / configure
$ make && make install

2. 通过源服务器安装

1
$ sudo apt - get install sshpass


二、使用sshpass

1. 登录远程服务器

1
$ sshpass  - p password ssh username@ip_addr

2. scp上传或下载文件

1
2
$ sshpass  - p password scp username@ip_addr: / remote_dir  / local_dir
$ sshpass  - p password scp  / local_dir username@ip_addr: / remote_dir

3. sshpass命令详细用法

1
2
3
4
5
6
7
8
9
10
11
12
Usage: sshpass [ - f| - d| - p| - e] [ - hV] command parameters
    - f filename   Take password to use  from  file
    - d number     Use number as  file  descriptor  for  getting password
    - p password   Provide password as argument (security unwise)
    - e            Password  is  passed as env - var  "SSHPASS"
    With no parameters  -  password will be taken  from  stdin
 
    - P prompt     Which string should sshpass search  for  to detect a password prompt
    - v            Be verbose about what you're doing
    - h            Show  help  (this screen)
    - V             Print  version information
At most one of  - f,  - d,  - or  - e should be used

本文转自戴柏阳的博客博客51CTO博客,原文链接http://blog.51cto.com/daibaiyang119/2045464如需转载请自行联系原作者

daibaiyang119
相关文章
|
3月前
|
Ubuntu 网络安全 数据安全/隐私保护
如何在 Ubuntu 上创建一个 SSH CA 以验证主机和客户端
如何在 Ubuntu 上创建一个 SSH CA 以验证主机和客户端
68 0
|
12天前
|
安全 Shell Linux
ssh密码忘记了怎么办
通过上述措施,不仅能够有效应对SSH密码遗忘的挑战,还能全方位加固SSH连接的安全,确保数据传输的无忧。
10 2
|
6月前
|
Ubuntu Shell Linux
使用sshpass工具通过SSH执行远程命令
`sshpass`是一个用于在脚本中自动输入SSH密码的工具 **在Debian/Ubuntu上安装sshpass:** ```bash sudo apt-get install sshpass ``` **在CentOS/RHEL上安装sshpass:** ```bash sudo yum install sshpass ``` **在Fedora上安装sshpass:** ```bash sudo dnf install sshpass ``` 安装完成后,你可以使用`sshpass`命令通过SSH执行远程命令。以下是一个示例: ```bash sshpass -p 'yo
633 0
|
6月前
|
弹性计算 算法 Shell
非交互自动生成 SSH 密钥文件
【4月更文挑战第28天】
61 0
|
3月前
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p 'yourpassword' ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
147 4
|
3月前
|
安全 Shell 网络安全
告别繁琐密码,一键解锁GitHub高效秘籍!SSH配置大揭秘,让你的代码托管之旅飞起来!
【8月更文挑战第4天】在使用GitHub时,频繁输入账号密码颇为不便。采用SSH协议可提升安全性并简化流程。本文以问答形式指导你快速配置GitHub SSH:了解SSH优势、学会生成与添加SSH密钥及测试连接。通过简单的步骤,即可实现无缝代码推送与拉取,享受高效、安全的开发体验。记得保护好私钥并根据需要设置多个密钥对。
55 7
|
3月前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
103 0
|
5月前
|
安全 Linux Shell
SSH服务器拒绝密码登录的解决方法
SSH服务器拒绝密码登录的解决方法
1185 1
|
4月前
|
网络安全 数据安全/隐私保护
服务器密码登录出现了:SSH connection failed: connect ECONNREFUSEDxxxxxxxx:22 * Xshell提示 SSH connection fa
服务器密码登录出现了:SSH connection failed: connect ECONNREFUSEDxxxxxxxx:22 * Xshell提示 SSH connection fa
|
4月前
|
安全 Linux 网络安全
ssh中的密码登录和密钥登录
ssh中的密码登录和密钥登录