【Linux 文件传输系列 2 -- linux ssh 自动输入密码】

脚本输入SSH登录密码

sshpass 是一个用于运行时非交互式ssh密码提供的工具,它允许你直接在命令行中为ssh命令提供密码。这就意味着你可以在脚本中使用ssh命令,而不需要用户交互地输入密码。

一般来说,在ssh命令中直接提供密码被认为是不安全的,因为密码可能会被存储在命令历史中,或者通过进程列表等方式暴露出来。然而,在某些自动化的环境中,可能需要非交互式地使用ssh。sshpass 提供了一种解决方案。

使用 sshpass 的基本语法是:

sshpass -p 'YourPassword' ssh user@hostname

在这个命令中,-p 参数后面是你的密码,然后是常规的ssh命令。使用这个命令,ssh会像往常一样工作,但是当它请求密码时,sshpass会提供你在命令行中指定的密码。

需要注意的是,sshpass 无法保护你的密码不被其他用户或进程看到。因此,尽管它在某些情况下可能很有用,但在处理敏感信息时应谨慎使用。

sshpass 安装

sudo apt-get install sshpass

在这里插入图片描述

执行命令(以df -h为例):

sshpass -p 密码 ssh 用户名@IP "df -h"

scp 脚本免密传输

使用SCP命令将 文件传输到远程/home/sam/upload

sshpass -p password scp -r $1 username@IP:/home/sam/upload

$1 参数为要传输的文件。

可以在~/.bashrc 中进行别名操作,当编译好本地文件后拷贝到其他服务器上:

lias mk-fpga='./build.sh EMU RELEASE && sshpass -p password scp -r uboot.hex  zhugong@emu01.cixcomputing.cn:/home/   zhugong/tmp/ap/hex'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公CodingCos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值