当前位置:网站首页 > Shell脚本编程 > 正文

ssh免密失效(ssh免密登录执行shell)



环境:

通过root用户建立秘钥认证实现SHELL脚本管理,分发,部署

首先client端创建秘钥对,并将公钥分发给需要登录的SSH服务端

注:公钥相当于锁,私钥相当于钥匙,我们这里相当于在客户端创建一对钥匙和锁,想要做到SSH免密码登录,就相当于我们将锁分发到服务端并装锁,然后客户端就可以利用钥匙开锁。

一.建立秘钥认证

1.在客户端创建秘钥对:(ssh client)

一路回车即可

2.查看生成的秘钥对:(ssh client)

秘钥生成完毕

3.将公钥(锁)分发到SSH服务端:(ssh client)

注:若非root用户,以及自定义SSH端口,则格式为:

输入yes,然后密码后回车:

公钥分发完毕

4.服务端查看收到的分发文件:(ssh server)

成功收到

5.客户端验证登陆:(ssh client)
查看服务端IP地址:

注:这里遇到警告提示“Address 192.168.100.29 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!”。
解决办法为修改客户端/etc/hosts文件,将服务端的ip地址与主机名对应关系写进去就可以了。

重新查看

无错误提示:

查看服务端内存

二.创建SHELL脚本实现批量管理:(ssh client)
1.创建脚本:

2.生成IP列表:(若有多台SSH服务端需要管理,这里以此类推即可)

3.执行脚本:

管理成功

三.创建SHELL脚本实现批量分发:(ssh client)

1.创建脚本:

脚本IP列表已创建
执行脚本:
将本地/root下文件分发到SSH服务端主机

分发成功

四.批量部署:

1.写好APACHE安装脚本。
2.将安装脚本分发到SSH服务端。
3.利用SHELL管理远端执行该脚本即可。
这里就不做过多演示,有机会我整理下我的LAMP文档,写个APACHE脚本,在这里演示下。
注:因为涉及风险操作。所以不推荐线上利用root用户进行批量管理操作。
建议设置普通账户,再利用sudo提权操作。

通过普通用户建立秘钥认证并sudo提权进行管理,分发,部署

注:默认三个回车完成创建

输入密码,分发完毕
验证:

返回192.168.100.29端IP即表明秘钥验证成功。
分发:
注:客户端user01用户现在可以免密码分发到服务端user02所属文件夹,但若想分发到root所属文件夹,则需要sudo提权。
1.服务端sudo提权:

登录user02账户

查看账户信息:

2.客户端先分发到服务端user02用户家目录:

2.连接服务端后执行sudo cp命令执行本地拷贝:

拷贝成功
注:

是将/test1目录拷贝到/test2/目录下

是将/test1目录下的所有文件拷贝到/test2/目录下
-------大功告成--------

到此这篇ssh免密失效(ssh免密登录执行shell)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

  • 上一篇: shell编程学习(shell编程基础)
  • 下一篇: 没有了
  • 版权声明


    相关文章:

  • shell编程学习(shell编程基础)2025-03-22 08:18:05
  • shell编程基础(shell编程基础知识)2025-03-22 08:18:05
  • shell编程教程(shell编程入门)2025-03-22 08:18:05
  • shell编程简单实例(shell编程100例)2025-03-22 08:18:05
  • shell编程实战(shell编程实例详解)2025-03-22 08:18:05
  • shell编程总结(shell编程100例)2025-03-22 08:18:05
  • shell编程入门(Shell编程入门 网盘)2025-03-22 08:18:05
  • shell编程入门(shell编程实例详解)2025-03-22 08:18:05
  • xshell连接交换机console口(xshell连接交换机console口波特率)2025-03-22 08:18:05
  • shell编程总结(shell编程常用命令)2025-03-22 08:18:05
  • 全屏图片