sshpass免密码处理

 一、需求功能:

如何使用一条命令直接从机器A登陆机器B,而免掉登录输入密码交互的流程

主要使用到两个场景:
A:ssh免密从A机器自己往B机器拷贝文件

B:ssh远程登录B机器并且执行命令

 

二、具体的操作语句:

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

sshpass -p {密码} scp 本地主机目录用户名 @ 主机 I P : {本地主机目录} {用户名}@{主机IP}:本地主机目录用户名@主机IP:{远程主机目录}
2、远程连接主机并执行命令

sshpass -p {密码} ssh -o StrictHostKeyChecking=no {用户名}@{主机IP} ‘具体的操作命令’
其中:ssh-o StrictHostKeyChecking=no 含义是忽略密码提示

 

三、实际操作命令:

1.将文件从机器A拷贝至机器B

sshpass -p 'password@2024'  scp -r /opt/test/test01/123.txt root@192.168.37.9:/opt/test/scp-file/

 

 

 

2.远程连接主机并执行命令

sshpass -p 'password@2024'  ssh -o StrictHostKeyChecking=no root@192.168.37.9 ls -l  /opt/test/scp-file/

 

四、缺点:

因为免密擦做时是明文的,除非是在测试环境或者安全的场景下面使用,否则会存在一些风险,也可以参考使用主机互信与expect命令来实现同样的功能

主机互信:https://www.cnblogs.com/mrwhite2020/p/15404164.html

expect命令:https://www.cnblogs.com/mrwhite2020/p/16769739.html

 

posted @   Mrwhite86  阅读(306)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示