- 浏览: 140669 次
- 性别:
- 来自: 成都
文章分类
最新评论
【基本介绍】
ssh远程连接到服务器认证密码的时候分为交互模式和非交互模式。交互模式就是我们登入要手动输入密码,非交互模式就是不需要人工输入密码。
这里我们介绍非交互模式
【非交互模式】
1.公钥和私钥的方式
Master作为客户端,要实现无密码公钥认证,连接到服务器Salve上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Salve上。当Master通过SSH链接到Salve上时,Salve会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Salve,Salve确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,期间不需要手工输入密码,重要的过程是将Master上产生的公钥复制到Salve上。
1.1 ssh-keygen -t rsa 生成密钥文件
1.2 将id_rsa.pub加到授权的authorized_keys里面去
1.3 拷贝id_rsa.pub密匙文件到目的服务器(ssh-copy-id)
1.4 注意文件的权限问题
2.sshpass
sshpass is a utility designed for running ssh using the mode referred to as "keyboard-interactive" password authentication, but in non-interactive mode.
3.expect交互
【参考】
http://www.2cto.com/os/201301/186673.html
https://linuxtoy.org/archives/sshpass.html
ssh远程连接到服务器认证密码的时候分为交互模式和非交互模式。交互模式就是我们登入要手动输入密码,非交互模式就是不需要人工输入密码。
这里我们介绍非交互模式
【非交互模式】
1.公钥和私钥的方式
Master作为客户端,要实现无密码公钥认证,连接到服务器Salve上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Salve上。当Master通过SSH链接到Salve上时,Salve会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Salve,Salve确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,期间不需要手工输入密码,重要的过程是将Master上产生的公钥复制到Salve上。
1.1 ssh-keygen -t rsa 生成密钥文件
1.2 将id_rsa.pub加到授权的authorized_keys里面去
1.3 拷贝id_rsa.pub密匙文件到目的服务器(ssh-copy-id)
1.4 注意文件的权限问题
2.sshpass
sshpass is a utility designed for running ssh using the mode referred to as "keyboard-interactive" password authentication, but in non-interactive mode.
[root@sparkVM script]# sshpass --help sshpass: invalid option -- '-' 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 -h Show help (this screen) -V Print version information At most one of -f, -d, -p or -e should be used
[root@sparkVM script]# sshpass root ssh -l root ipaddress "cat /etc/issue"
3.expect交互
[root@sparkVM script]# cat expect.exp #!/usr/bin/expect -f set ip [lindex $argv 0 ] set password [lindex $argv 1 ] set timeout 5 spawn ssh root@$ip expect { "*yes/no" { send "yes\r"; exp_continue} "*password:" { send "$password\r" } } interact [root@sparkVM script]# ./expect.exp ipaddress root spawn ssh root@192.168.197.129
【参考】
http://www.2cto.com/os/201301/186673.html
https://linuxtoy.org/archives/sshpass.html
发表评论
-
linux shell - 远端修改非root密码
2015-01-09 20:40 1000【基本介绍】 通过远端修改普通用户密码,而passwd --s ... -
linux shell - broken pip error
2015-01-07 15:36 2753【基本介绍】 这里我们介绍发生broken pipe错误的原因 ... -
linux locate - find files by name
2014-12-17 17:46 610【基本介绍】 这里我们介绍locate命令,用来查找文件。 ... -
linux ssh - GSSAPIAuthentication
2014-12-10 14:58 2118【基本介绍】 最近公司搬家,发现合作伙伴的服务器的用ftp工具 ... -
linux tar - 压缩解压
2014-12-01 16:04 1021【基本介绍】 今天遇到要添加文件到tar文件里面,所以在这里介 ... -
linux parameter substitution - 字符串/变量处理
2014-11-17 15:56 817【基本介绍】 这里我们介绍bash里面对字符串,变量等的替换等 ... -
linux netstat - status状态描述
2014-11-14 17:59 1160【基本介绍】 这里介绍netstat命令返回的结果status ... -
linux set - set variables and set positional parameters
2014-11-10 18:26 436【基本介绍】 set是shell的内置命令。可以用来设置修改变 ... -
linux nc - arbitrary TCP and UDP connections and listens
2014-10-31 17:46 809【基本介绍】 nc是可以打开任意端口的TCP/UDP连接和监听 ... -
linux 报错集 - Cannot retrieve metalink for repository: epel. Please verify its pat
2014-10-29 15:12 960【基本介绍】 运行yum报错Error: Cannot ret ... -
linux awk - awk tutorial
2014-10-21 10:47 508【基本介绍】 awk是一款强大的对文件内容进行处理的软件,可以 ... -
linux ps - processes
2014-10-20 14:17 1263【基本介绍】 ps - report a snapshot o ... -
linux lsof - list open files
2014-10-17 17:31 761【基本介绍】 lsof - list open files I ... -
linux - 网络连接状态
2014-10-13 11:00 1405【基本情况】 这里介绍 ... -
linux netstat - Print network connections, routing tables, interface statistics,
2014-10-13 10:37 1018【基本介绍】 netstat - Print network ... -
linux vmstat - Report virtual memory statistics
2014-10-10 17:39 735【基本介绍】 vmstat - Report virtual ... -
linux yum - yum warning: rpmts_HdrFromFdno
2014-10-09 15:08 607【基本介绍】 在yum安装软件的时候有时候会报warning: ... -
Linux ip subnet mask - 网段分析
2014-09-24 19:22 1372【基本介绍】 网段的分析可以帮助我们查看两个局域地址是否可以互 ... -
linux curl - curl 上传下载
2014-09-19 11:45 2125【基本介绍】 curl is a tool to tra ... -
linux mkpasswd - 密码生成器
2014-09-18 17:18 1417【基本介绍】 作为linux admin要经常创建用户,并初始 ...
相关推荐
SSHPass是Linux和Unix系统中一个实用的命令行工具,用于在执行SSH连接时提供密码。这个工具的主要目的是为了自动化那些通常需要手动输入密码的任务,比如脚本化的远程服务器管理或者持续集成流程。`sshpass-1.06.tar...
Linux方便的ssh非交互工具sshpass,使用sshpass实现自动ssh和自动scp。sshpass-1.06-1.el7.x86_64.rpm
`sshpass` 是一个小型的命令行工具,主要目的是在非交互式环境中处理SSH密码。它允许用户在执行SSH命令时通过命令行、文件或环境变量提供密码,避免手动输入,提高自动化效率。 2. **使用方式** 使用 `sshpass`,...
`sshpass`是一个开源命令行工具,主要针对Linux和Unix系统,允许用户在不交互输入密码的情况下进行SSH登录。这对于自动化流程、脚本或者无人值守的部署过程非常有用。通过`sshpass`,你可以预先提供SSH密码,从而...
SSHPass是一款用于非交互...总结,SSHPass是Linux/Unix环境中进行非交互式SSH登录的实用工具,通过提供密码参数,可以方便地集成到自动化脚本中。安装和使用过程相对简单,但在实际应用中应确保安全性,避免密码泄露。
SSHPass是Linux/Unix系统中一个实用的工具,它允许用户在命令行界面中通过提供SSH密码来执行无交互式的SSH连接。这对于自动化任务、脚本执行或在没有密钥对认证的情况下远程管理服务器非常有用。`sshpass-1.06`是...
在Linux后台中,经常会用到ssh、scp等命令。需要进行认证,手动输入密码,是交互式的过程。当将ssh、scp等命令做成自动化脚本时,可能需要非交互式的登录过程,此时可以用sshpass。
在Linux环境中,特别是对于自动化脚本或者无人值守的系统管理任务,SSHPass 提供了一种方便的方法来传递SSH密码,使得系统可以通过非交互方式连接到远程服务器。 标题中的 "UNRAID" 和 "DSM" 分别指的是两种流行的...
SSHpass是一个方便的Linux工具,专为自动化任务设计,它允许通过命令行接口在SSH连接中自动输入密码,无需手动交互。这对于系统管理员执行脚本化任务或批量管理多台服务器时非常有用。 在描述中提到了sshpass的几个...
首先,我们可以使用`sshpass`工具,这是一个允许在不交互的情况下向SSH或SCP命令提供密码的开源程序。安装`sshpass`的方法取决于你的Linux发行版。在Debian或Ubuntu上,你可以使用`apt`命令安装: ```bash sudo apt...
总的来说,SSHPass是一个实用的工具,它的源码可以帮助我们理解如何与SSH进行交互并安全地传递密码。通过学习和分析源码,开发者可以进一步了解Unix/Linux系统的底层工作原理,同时也能掌握编译和调试C语言程序的...
SSHpass允许用户在不使用交互式提示的情况下通过命令行提供SSH密码。这对于自动化流程非常有用,比如在无人值守的脚本中,你可能需要登录到远程服务器执行某些操作。使用SSHpass可以避免每次连接都需要手动输入密码...
`sshpass`是一个用于提供非交互式SSH密码认证的工具。在脚本中,我们可以通过`sshpass`传递密码,然后使用`ssh-copy-id`将公钥发送到远程主机。以下是一个简单的示例脚本(`ssh-sshpass.sh`): ```bash #!/bin/...
ssh免交互创建、修改、查找账户源码 公司的产品集成了IBM的TIM工具,用于linxu远程账户管理。由于TIM是收费软件、且价格不菲,于是决定开发一款自己的远程账户管理工具来替代TIM。由于此工具是集成在产品中被前端...
标题中的“通过SSHPASS执行命令及相关脚本”是指在Linux环境下使用`sshpass`工具进行非交互式SSH登录并执行远程命令的技术。`sshpass`是一个命令行实用程序,它允许用户在不手动输入密码的情况下,通过SSH连接执行...
`sshpass`是一个命令行实用程序,它允许用户在不交互输入密码的情况下通过SSH连接到服务器,这对于自动化脚本或批量处理任务非常有用。`sshpass.tar.gz`是一个包含`sshpass`源代码或二进制文件的压缩包。 首先,...
它的主要功能是允许用户通过-p参数显式地指定SSH连接所需的密码,这样就无需交互式地输入密码,提高了自动化任务的效率。这对于那些需要频繁执行SSH登录但又不希望每次都手动输入密码的情况非常有用。 使用sshpass...
SSH登录演示("ssh登录demo")通常涉及到在本地计算机上通过SSH客户端连接到远程服务器的过程,以便进行命令行交互、文件传输或自动化任务。在Linux和Unix-like系统中,SSH是管理员常用的工具,它也支持Windows系统...
在IT领域,尤其是在服务器运维中,SSH(Secure Shell)是一个至关重要的工具,它允许系统管理员安全地远程控制和管理Linux或Unix系统。本教程将详细讲解如何在Ubuntu 20.04.1 LTS(Focal Fossa)上离线安装SSH服务,...
`sshpass`是一个简单的命令行工具,用于非交互式地通过SSH进行密码验证。使用前需要先安装`sshpass`,然后通过指定密码参数来执行远程命令。 - **安装**:`yum install sshpass` - **执行命令**: ```bash ...