首页 > 其他分享 >解决ssh登陆问题sshpass

解决ssh登陆问题sshpass

时间:2023-08-25 10:22:35浏览次数:34  
标签:登录 192.168 ssh sshpass 服务器 远程 登陆

一键解决ssh登录密码问题:sshpass的安装与使用

原创 运维家 运维家 2023-08-22 16:00 发表于北京 收录于合集#ssh2个

图片

引言

 

大家好,我是运维家的Linux和Python技术持续学习者。在日常的运维工作中,我们经常需要远程登录服务器进行管理和操作。而对于那些不支持密钥登录或者需要输入密码的服务器,你是否曾经遇到过繁琐的手动输入密码的问题呢?别担心,今天我要为大家介绍的就是一个神奇的工具——sshpass,它能够解决这个问题,让你的远程登录更加便捷和高效。

要求环境

在开始之前,我们需要确保你的Linux系统已经安装了sshpass工具。如果没有安装,不用担心,我们将在下面的内容中为你详细介绍如何进行安装。

实战案例

安装sshpass

首先,我们需要在Linux系统中安装sshpass。你可以执行以下命令进行安装:

sudo apt-get install sshpass

这里以Ubuntu系统为例,如果你使用的是其他Linux发行版,可以根据实际情况选择对应的安装命令。

使用sshpass登录远程服务器

假设我们需要登录一个远程服务器,用户名为user,密码为password,IP地址为192.168.1.100,端口为默认的22。我们可以使用以下命令进行登录:

sshpass -p password ssh [email protected]

注意,这种方法并不安全,因为密码是明文传输的,可能会被窃取。所以请确保你在安全的网络环境下使用,并仅限于测试或特殊场景。

远程执行命令或脚本

sshpass还可以用于远程执行命令或脚本。假设我们需要在远程服务器上执行一个脚本script.sh,可以使用以下命令:

sshpass -p password ssh [email protected] 'bash -s' < script.sh

这样就能够在远程服务器上执行指定的脚本了。

远程文件拉取与上传

使用sshpass还可以方便地进行远程文件拉取和上传。假设我们需要从远程服务器上拉取一个文件remote_file.txt,可以使用以下命令:

sshpass -p password scp [email protected]:/path/to/remote_file.txt /path/to/local_file.txt

同样,如果需要上传本地文件到远程服务器,只需要将命令中的路径对调即可。

从文件读取密码、IP、端口

有时候,我们可能需要从文件中读取密码、IP、端口等配置信息,以便于批量操作。使用sshpass就可以轻松实现这一点。假设我们有一个配置文件config.txt,文件内容如下:

user1 password1 192.168.1.100
user2 password2 192.168.1.101
user3 password3 192.168.1.102

我们可以使用以下命令批量登录这些服务器:

while read -r user password ip; do
    sshpass -p $password ssh $user@$ip
done < config.txt

这样就能够依次登录配置文件中的服务器了。

文章总结

通过本文的介绍,我们了解了sshpass的安装和使用方法,并且掌握了一些实际应用的案例。sshpass可以让我们在需要输入密码的情况下,快速便捷地进行远程登录、执行命令、文件传输等操作。但要注意,在使用过程中要确保网络环境安全,并避免在生产环境中使用明文密码登录。希望本文对你有所帮助,更多精彩内容欢迎关注分享我的微信公众号“运维家”。

图片


关注微信公众号,不错过更多精彩内容!

运维家

赞赏二维码钟意作者

收录于合集 #ssh  2个 上一篇实战教程:让Linux容器变身SSH登录终端,轻松远程管理你的服务器 阅读 256 运维家   ​     关注后可发消息    

标签:登录,192.168,ssh,sshpass,服务器,远程,登陆
From: https://www.cnblogs.com/cherishthepresent/p/17656179.html

相关文章

  • centos7安装telnet-server并升级安装Openssh9.0p1
     发布时间:2022/12/1114:42:50需求更新至OpenSSH_9.0p1更新OpenSSH前先安装telnet-server服务,防止意外发生1、安装telnet-server服务查看本机是否安装telnet客户端及服务端[root@sre ~]# rpm -qa | grep telnet[root@sre ~]# rpm -qa telnet-server[r......
  • Git SSH密钥登录的坑
    在gitlab上面已经配置了公钥,本地进行gitclone时发生如下错误@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WARNING:UNPROTECTEDPRIVATEKEYFILE!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Permissions0777for......
  • 如何在Linux中使用SSH动态端口转发代理
    本文将介绍如何在Linux中使用SSH动态端口转发代理,让你轻松畅享网络自由,保障个人隐私和数据安全。SSH(SecureShell)是一种加密的远程登录协议,广泛用于提供安全的远程访问和数据传输。而动态端口转发代理,则是利用SSH的强大功能,将本地机器的网络流量通过SSH连接转发到远程服务器,实现访......
  • 使用 Python ssh 远程登陆服务器的最佳方案
    在使用Python写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果。在shell环境中,我们是这样子做的。sshpass-p${passwd}ssh-p${port}-l${user}-oStrictHostKeyChecking=noxx.xx.xx.xx"ls-l"然后你会发现,你的输出有很多你并不......
  • OpenSSH版本升级漏洞修复问题
    ......
  • openssh 编译安装 封装rpm
    tar-zxfopenssl-1.1.0k.tar.gzyum-yinstallwgetpam*yuminstall-yperlrpm-buildgccgcc-c+iglibcglibc-developenss1-developensslprcepcre-develzlibzlib-develcd/root/openssh/openssl-1.1.1v./config--prefix=/openssh9.4p1--openssldir=/open......
  • 安防视频能力平台EasyCVR视频汇聚平台关闭匿名登陆的问题的解决步骤
    EasyNVR是基于RTSP/Onvif协议的安防视频能力平台,它可实现设备接入、实时直播、录像、检索与回放、存储、视频分发等视频能力服务,可覆盖全终端平台(pc、手机、平板等终端),在智慧工厂、智慧工地、智慧社区、智慧校园等场景中有大量落地应用。 我们在此前的文章中介绍过......
  • 番外1.ssh连接管理器
    目录本篇前瞻项目背景ssh连接管理器优点使用方式配置使用方法快速开始注意点使用样例本篇后记本篇前瞻学习完go语言基础的专栏,我们究竟写出怎么样的实用工具呢?我在github上开源的ssh连接管理器就是一个比较好的样例。项目背景这个项目的背景是之前我在上班时连接生产机器时只......
  • linux启动tomcat后,关闭ssh连接,tomcat进程停止
    在tomcat停止后会报错:org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbcWeb应用程序[ROOT]注册了JDBC驱动程序[com.alibaba.druid.proxy.DruidDriver],但在Web应用程序停止时无法注销它。为防止内存泄漏,JDBC驱动程序已被强制取消注册。我以为是代码的问......
  • openssh的替代方案
    软件官网:https://matt.ucc.asn.au/dropbear/releases/操作步骤:1、wgethttps://matt.ucc.asn.au/dropbear/releases/dropbear-2022.83.tar.bz2./configureake&&akeinstall2、配置dropbearmkdir/etc/dropbear/usr/local/bin/dropbearkey-tdss-f/etc/dropbear/dropbea......