sshpass

SSH客户端
授权协议 GPLv2
开发语言 C/C++
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 牟波
操作系统 Linux
开源组织
适用人群 未知
 软件概览

OpenSSH 自带的 ssh 客户端程序(也就是 ’ssh’ 命令)默认不允许你以非交互的方式传递密码,如:

ssh www.iredmail.org <<EOF
ssh_password
ls /var/
EOF

Shell 里这样的输入重定向使用得非常普遍,而且通常都工作得很好。但是 ssh 不允许这样的方式来传递密码,所以需要远程连上服务器后进行的批处理就无法进行。

sshpass 的出现,解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器。例如:

# sshpass -p 'ssh_password' ssh www.iredmail.org

用 ‘-p’ 指定了密码后,还需要在后面跟上标准的 ssh 连接命令。

用法就是这么简单。

注意:

我之前使用的 sshpass 是 1.0,在第一次连接服务器的时候,无法自动接受服务器的 Key 验证,也不会出现提示信息,所以第一次连接服务器请使用标准的 ssh 命令行客户端工具,接受了服务器的 key 之后再用 sshpass。

  • 大纲 一、初心 二、sshpass的常用命令(sshpass不可以直接接带特殊字符意义的密码,需要转义或者用小括号,或者指定文件的方式来连接都可以规避这个问题。) 三、成果展示 一、初心 为了将拉取最新源码、混淆编译、将编译好的文件拷贝到远程主机并执行,这一系列操作能够自动化完成,解放劳动力,提升工作效率的,我进行了自动化脚本的编写和验证操作。原本以为这是一个再简单的事情,实际着手时,也遇到不少麻

  • sshpass -p asdf123 ssh wb@192.168.5.5 -o StrictHostKeyChecking=no "sudo tar -xzvf /tmp/cspt.tar.gz -C /usr/local/" sshpass -p asdf123 scp -o StrictHostKeyChecking=no -p -r /tmp/cspt.tar.gz wbb@1

  • 交叉编译 sshpass 该命令可以用于脚本文件免去输入密码的命令 首先下载源码包 解压 tar -xvf sshpass-1.08.tar.gz 进入目录 cd sshpass-1.08 配置交叉编译器: ./configure --prefix=/home/bwton/project/sshpass-1.08/install_arm --host=arm-linux-gnueabihf CC=

  • Overview Mac 使用新版本 brew 安装 sshpass 已经不 work 了 操作 下载 sshpass,本地编译安装 curl -O -L https://fossies.org/linux/privat/sshpass-1.09.tar.gz && tar xvzf sshpass-1.09.tar.gz cd sshpass-1.09/ ./configure sudo ma

  • 最先想到的是使用brew安装sshpass命令; 奈何Mac上没有brew命令,首先安装Homebrew包: 参考:https://www.cnblogs.com/yaogengzhu/p/10833285.html  ➜ % /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mast

  • sshpass: 用于非交互的ssh 密码验证 ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,sshpass 的出现,解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器。 它支持密码从命令行,文件,环境变量中读取 安装sshpass curl -O -L http://downloads.sourceforge.net/project/sshpass/s

  • # 源码包安装 wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz tar xvzf sshpass-1.05.tar.gz cd sshpass-1.05.tar.gz ./configure make make install # yum安装 yum

  • Shell命令,sshpass,非交互SSH密码验证,访问 一:安装sshpass 下载地址:http://sourceforge.net/projects/sshpass/ my下载地址:sshpass-1.05.tar.gz 二:下载完为一个例如:sshpass-1.05.tar.gz,压缩包 #解压并安装 $ tar -zxvf sshpass-1.05.tar.gz $ cd sshpas

  • 通过sshpass命令执行从本地A服务器复制数据库文件到B服务器上。 # sshpass -p 'a@123456' scp -P 22 /home/data.sql.gz root@10.0.0.2:/home/data/db 注意事项:使用sshpass -p 'a@123456' 其中密码是B服务器上系统root用户的密码,密码中有特殊符号需要用单引号引起来。 使用sshpass进行scp

  • sshpass -p 密码 ssh -p [port] root@ip:/路径 ssh免密登陆: sshpass -p [passwd] ssh -p [port] root@192.168.X.X sshpass -p 123456 ssh root@192.156.1.6 sshpass -p 密码 scp file root@ip:/路径(需要先使用scp登录目标机) 把本地文件dist传入

  • 1. ssh指令基本用法 1.1 安装 (1)客户端 openssh-client,想登录别的机器的SSH需要安装 ubuntu有默认安装,如果没有则sudo apt-get install openssh-client, (2)服务端 openssh-server,要使本机开放SSH服务就需要安装 sudo apt-get install openssh-server 1.2 启动ssh sud

  • 简介 远程自动化脚本中常用sshpass进行免密登录。 参数: -f filename:从文件中获取密码 -d number:使用数字作为获取密码的文件描述符 -p password:指定明文本密码输入(安全性较差) -e 从环境变量SSHPASS获取密码 一、常用方法 1、直接远程连接某主机 sshpass -p {密码} ssh {用户名}@{主机IP} 2、远程连接指定ssh的端口 sshp

 相关资料
  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • URI 方法 URI() string 返回当前客户端使用的服务器地址。 SetURI 方法 SetURI(uri string) 设置当前客户端使用的服务器地址。如果你想要设置多个服务器地址,请使用 SetURIList 方法代替该方法。 URIList 方法 URIList() []string 返回当前客户端可使用的服务器地址列表。 SetURIList 方法 SetURIList(uriL

  • 客户端事件通过 SetEvent 方法进行设置。 客户端事件有两个,它们分别定义为: type onErrorEvent interface { OnError(name string, err error) }   type onFailswitchEvent interface { OnFailswitch(Client) } 因为 go 语言不需要显式实现接口的特点,所以这两

  • 创建客户端有两种方式,一种是直接使用特化的构造器函数,另一种是使用工厂构造器函数。 第一种方式返回的是具体的客户端结构体指针对象,第二种方式返回的是客户端接口对象。 使用特化的构造器函数创建客户端 特化的构造器函数有下面几个: func NewHTTPClient(uri ...string) (client *HTTPClient) func NewTCPClient(uri ...string

  • 客户端下载地址: windows 32位安装包 windows 64位安裝包 mac 安装包 Android App iOS App

  • 问题 你想使用网络上提供的服务。 解决方案 创建一个基本的 TCP 客户机。 在 Node.js 中 net = require 'net' domain = 'localhost' port = 9001 connection = net.createConnection port, domain connection.on 'connect', () -> console.log

  • 客户端调用服务端 服务端的proto文件copy到客户端 获取grpc客户端 //sample 为服务名称 var client = await provider.FindGrpcClient<RpcTest.RpcTestClient>("sample"); 调用服务方法 var result = await client.SayHelloAsync(new HelloRequest() {

  • Disque 在源码中附带了命令行客户端程序 disque , 通过这个程序可以以交互的形式向 Disque 发送命令: $ ./disque 127.0.0.1:7711> PING PONG 另外你也可以使用以下编程语言的客户端来操作 Disque : Ruby 客户端 https://rubygems.org/gems/disque Java 客户端 https://github.com/x