首页 > 其他分享 >在命令行中直接使用密码 ssh 登录

在命令行中直接使用密码 ssh 登录

时间:2023-04-23 12:22:31浏览次数:30  
标签:sshpass 登录 密码 ssh 命令行 使用

在命令行中直接使用密码 ssh 登录

问题

需要在 shell 脚本中 ssh 登录远程服务器,上传下载文件,但由于 ssh 直接使用 TTY 访问,需要确保密码是用户键盘输入的,每次都需要输入密码,又没有添加免密登录,所以需要在脚本中直接使用密码执行操作。

解决方案

使用 sshpass 库,sshpass 在专门的 tty 中运行 ssh,以误导 ssh 相信它是从用户接收到的密码。

  1. 安装 sshpass 库:
    • centos: yum install sshpass unzip
    • ubuntu: apt-get install sshpass unzip
  2. 用法:
    • 执行命令:sshpass -p $pwd ssh -p "$port" "$user@$ip" -o StrictHostKeyChecking=no "cmd"
    • 复制文件:sshpass -p $pwd scp -o StrictHostKeyChecking=no -P "$port" "$user@$ip:$remote_path" "$local_path"

标签:sshpass,登录,密码,ssh,命令行,使用
From: https://www.cnblogs.com/shouwangrenjian/p/17346188.html

相关文章

  • 基于django+ansible+webssh运维自动化管理系统
    基于django+ansible+webssh运维自动化管理系统 前言最初开发这个基于Djangoansible运维自动化管理系统的想法其实从大学时候就已经有了,但是苦于技术原因和没有线上环境原因一直没有开发,现在有了这个技术和环境之后开始着手开发了这个项目,项目难点在于你要理解如何设计数据库,......
  • 关于ssh密码忘记的处理
    01.任意文件位置运行 GitBashHere02.切换到ssh目录:  cd~/.ssh03.查看ssh内容:如果之前已经生成过ssh公钥,则存在三个文件04.删除所有SSH 相关内容: rm-rf~/.ssh/*此时再用 ls指令,已经查不到任何内容了05.创建新的ssh:  ssh-keygen-t......
  • 解决sshd登陆密码错误问题
    一、背景   参考https://blog.csdn.net/qq_43574160/article/details/124870387,在海思开发移植ssh,在确认了root密码正确后,通过终端ssd始终提示登陆密码错误;二、解决过程   1、网上查找类似解决方法,修改默认的配置文件/usr/local/etc/ssh_config,下图为默认配置 ......
  • sdl2实现简单的登录页面
    #include<SDL.h>#include<SDL_ttf.h>#include<iostream>#include<string>intmain(intargc,char*args[]){  if(SDL_Init(SDL_INIT_VIDEO)<0)  {    std::cerr<<"SDL初始化失败,错误信息:"<<SDL_GetError()&l......
  • windows安装opensssh报错: no such file /home/.../.ssh 解决方案
    报错详细信息addknowhosts...nosuchfileordirectory:/home/\u82\u22/.ssh原因分析这是因为openssh不是直接读取的HOME环境变量,而是使用/home/{USERNAME}的形式去找用户根目录。但msys2没有创建该目录,因为msys2将HOME目录定义为/c/Users/{name}/。具体问题分析:Cr......
  • 退出登录、认证配置详解、权限系统的作用、授权基本流程
    退出登录我们只需要定义一个登录接口,然后获取SecurityContextHolder中的认证信息,删除redis中对应的数据即可。LoginController控制层@RestControllerpublicclassLoginController{@AutowiredprivateLoginServiceloginService;@RequestMapping("/user/lo......
  • 《命令行上的数据科学第二版》校对活动正式开始
    仓库:https://github.com/apachecn/ds-cmd-line-2e-zh整体进度:https://github.com/apachecn/ds-cmd-line-2e-zh/issues/1贡献指南:https://github.com/apachecn/ds-cmd-line-2e-zh/blob/master/CONTRIBUTING.md贡献指南请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并不要求您......
  • 《命令行上的数据科学第二版》校对活动重新启动
    仓库:https://github.com/apachecn/ds-cmd-line-2e-zh整体进度:https://github.com/apachecn/ds-cmd-line-2e-zh/issues/1贡献指南:https://github.com/apachecn/ds-cmd-line-2e-zh/blob/master/CONTRIBUTING.md章节列表:序前言1简介2开始3获取数据4创建命令行工具5清理数据6项目......
  • SSH远程管理和访问控制
    拓补图:推荐步骤:安装ssh服务器端和客户端设置服务开机自动启动,配置身份验证的ssh,保证ssh服务器的安全性禁止为空密码访问,将ssh服务器端口修改为2222,在ssh服务器端创建bob和tom两个用户允许客户端192.168.100.20登录bob和root账户,禁止tom用户通过192.168.100.20登录配置免交互式身份......
  • 阿里云1+X云计算开发与运维实战——使用kubectl命令行工具对容器进行操作
    1、实验概述使用Kubectl 命令行工具操作 kubernetes 集群是最直接的管理集群的途径。开始实验后,系统自动在阿里云上创建一个Kubernetes集群。根据实验步骤操作说明,远程登陆集群master节点,然后使用kubectl命令行工具,对集群进行基本操作。包括创建资源对象,显示和查找资源对象,更新......