【linux命令】sshpass命令使用

正文

sshpass命令使用

直接远程连接某主机

sshpass -p {密码} ssh {用户名}@{主机IP}

 

远程连接指定ssh的端口

sshpass -p {密码} ssh -p ${端口} {用户名}@{主机IP} 

 

从密码文件读取文件内容作为密码去远程连接主机

sshpass -f ${密码文本文件} ssh {用户名}@{主机IP} 

 

从远程主机上拉取文件到本地

sshpass -p {密码} scp {用户名}@{主机IP}:${远程主机目录} ${本地主机目录}

 

将主机目录文件拷贝至远程主机目录


sshpass -p {密码} scp ${本地主机目录} {用户名}@{主机IP}:${远程主机目录} 

 

远程连接主机并执行命令

sshpass -p {密码} ssh -o StrictHostKeyChecking=no {用户名}@{主机IP} 'rm -rf /tmp/test' -o StrictHostKeyChecking=no :忽略密码提示

 

sshpass -p '123123' ssh-copy-id -o StrictHostKeyChecking=no root@node03

这条命令的作用是将本地的 SSH 公钥复制到远程主机 node03 上的 root 用户中,从而实现免密码 SSH 登录。让我们逐一解释各个参数的含义:

  • sshpass -p '123123': sshpass 是一个用于非交互式地传递密码给 SSH 的工具。-p '123123' 指定了 SSH 登录时的密码为 123123

  • ssh-copy-id: 这是用于将本地的公钥添加到远程主机的 ~/.ssh/authorized_keys 文件中的工具,从而允许本地机通过 SSH 免密码登录远程主机。

  • -o StrictHostKeyChecking=no: 这是一个 SSH 选项,用于在首次连接到远程主机时自动接受并添加远程主机的 SSH 密钥到已知主机列表中。StrictHostKeyChecking=no 表示不提示用户确认新主机的密钥,而是自动接受。这在自动化脚本中很常用。

  • root@node03: 这是指远程主机的用户和主机名。root 是用户名,node03 是远程主机的主机名或 IP 地址。

posted @   苏格拉底的落泪  阅读(188)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示