当前位置:网站首页>SSH 远程执行命令简介
SSH 远程执行命令简介
2022-07-03 18:33:00 【星哥玩云】
在之前,看到大都是说修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,没有远程虚拟终端这个方法就是浮云,Ubuntu10.04 Server 亲测!!
ssh执行远程操作
命令格式
ssh -p $port [email protected]$p 'cmd'
$port : ssh连接端口号 $user: ssh连接用户名 $ip:ssh连接的ip地址 cmd:远程服务器需要执行的操作
准备工作
基于公私钥认证或者用户名密码认证能确保登录到远程local2服务器(有点基本运维知识的人做这个事情都不是问题)
cmd如果是脚本,注意绝对路径问题(相对路径在远程执行时就是坑)
不足
- 这个命令可以满足我们大多数的需求,但是通常运维部署很多东西的时候需要root权限,但是有几处限制:
- 远程服务器local2禁止root用户登录
- 在远程服务器脚本里转换身份用expect需要send密码,这样不够安全
执行远程服务器需要sudo权限的脚本
ssh的-t参数
-t Force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.
中文翻译一下:就是可以提供一个远程服务器的虚拟tty终端,加上这个参数我们就可以在远程服务器的虚拟终端上输入自己的提权密码了,非常安全
命令格式
ssh -t -p $port [email protected]$ip 'cmd'
示例脚本
#!/bin/bash
#变量定义 ip_array=("192.168.1.1" "192.168.1.2" "192.168.1.3") user="test1" remote_cmd="/home/test/1.sh"
#本地通过ssh执行远程服务器的脚本 for ip in ${ip_array[*]} do if [ $ip = "192.168.1.1" ]; then port="7777" else port="22" fi ssh -t -p $port [email protected]$ip "remote_cmd" done
这个方法还是很方便的,-t虚拟出一个远程服务器的终端,在多台服务器同时部署时确实节约了不少时间啊!
边栏推荐
- 图像24位深度转8位深度
- How to draw non overlapping bubble chart in MATLAB
- [enumeration] annoying frogs always step on my rice fields: (who is the most hateful? (POJ hundred practice 2812)
- Golang string (string) and byte array ([]byte) are converted to each other
- PHP MySQL reads data
- 虚拟机和开发板互Ping问题
- TypeScript 官网教程
- Coordinate layer conversion tool (video)
- [tutorial] build your first application on coreos
- Unsafe类的使用
猜你喜欢
网格图中递增路径的数目[dfs逆向路径+记忆dfs]
Sensor 调试流程
How does GCN use large convolution instead of small convolution? (the explanation of the paper includes super detailed notes + Chinese English comparison + pictures)
CV in transformer learning notes (continuously updated)
Okaleido, a multimedia NFT aggregation platform, is about to go online, and a new NFT era may come
Codeforces Round #803 (Div. 2) C. 3SUM Closure
Torch learning notes (7) -- take lenet as an example for dataload operation (detailed explanation + reserve knowledge supplement)
Read the paper glodyne global topology preserving dynamic network embedding
Grammaire anglaise Nom - Classification
Multifunctional web file manager filestash
随机推荐
统计图像中各像素值的数量
CTO and programmer were both sentenced for losing control of the crawler
Naoqi robot summary 27
Use of unsafe class
12、 Service management
Computer graduation design PHP campus address book telephone number inquiry system
An academic paper sharing and approval system based on PHP for computer graduation design
Image 24 bits de profondeur à 8 bits de profondeur
Why can deeplab v3+ be a God? (the explanation of the paper includes super detailed notes + Chinese English comparison + pictures)
虚拟机和开发板互Ping问题
198. Looting - Dynamic Planning
[tutorial] build your first application on coreos
Theoretical description of linear equations and summary of methods for solving linear equations by eigen
English语法_名词 - 分类
Three gradient descent methods and code implementation
On Data Mining
Unsafe类的使用
模块九作业
Real time split network (continuous update)
PHP MySQL create database