×
ABao阿宝
想是问题,做是答案;输在犹豫,赢在行动。
ssh远程执行本地脚本
分类:
Shell
发表:2020-08-28
围观(2684)
抢沙发
1.ssh密钥登录 本文示例中的服务器ip地址为172.16.30.188,ssh端口为22。 1.1、客户端生成密钥 客户端生成密钥的方法很简单,只需要使用ssh-keygen命令。 `ssh-keygen -t rsa` 生成密钥过程中,建议采用默认值,只需要按三次回车之后,就会再~/.ssh目录下生成密钥文件,其中,id_rsa为私钥,id_rsa.pub为公钥。 1.2、服务器配置 服务器的~/.ssh/authorized_keys文件保存可快速连接的客户端的公钥。只需把客户端生成的id_rsa.pub文件的内容拷贝到authorized_keys文件的末尾。拷贝的方法有: 直接拷贝。由于id_rsa.pub和authorized_keys都是文本文件,可通过拷贝命令直接拷贝。 把id_rsa.pub上传到服务器,然后再把内容添加到authorized_keys文件中。 在客户端把文件上传到服务器的用户目录的操作命令如下: `ssh-copy-id -i ~/.ssh/id_rsa.pub abao@172.16.30.188` 或者在服务器操作的命令如下: `cat id_rsa.pub >> ~/.ssh/authorized_keys` 配置好之后,登录服务器就不再需要密码了。 2.免确认机器指纹,`ssh -o StrictHostKeyChecking=no` ``` # ssh -o StrictHostKeyChecking=no abao@172.16.30.188 ``` 3.执行本地脚本,`< /root/local.sh` `# cat /root/local.sh` ``` echo $PATH hostname echo $1 ip a show dev eth0 ``` `# ssh -o StrictHostKeyChecking=no abao@172.16.30.188 < /root/local.sh` 4.脚本加参数,`bash -s < /root.local.sh arg1` ``` # ssh -o StrictHostKeyChecking=no abao@172.16.30.188 bash -s < /root/local.sh arg1 ``` 5.以sudo权限执行 ``` # ssh -o StrictHostKeyChecking=no abao@172.16.30.188 sudo bash -s < /root/local.sh arg1 ``` 6.特殊符号的脚本参数 ``` # ssh -o StrictHostKeyChecking=no abao@172.16.30.188 'cat | sudo bash /dev/stdin -d' < /root/local.sh ```
标签:
shell
本文
暂无
评论
回复给
点击这里取消回复。
验证码(*)
Top
Python
产品设计
学习笔记
网络基础
PHP
经营管理
运维开发
系统测试
Shell
Java
系统开发
Linux运维
运维架构
Go
×
本文 暂无 评论