当前位置:网站首页>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虚拟出一个远程服务器的终端,在多台服务器同时部署时确实节约了不少时间啊!
边栏推荐
- Boost.Asio Library
- Win 11 major updates, new features love love.
- What kind of experience is it when the Institute earns 20000 yuan a month?
- [combinatorics] generating function (generating function application scenario | using generating function to solve recursive equation)
- 统计图像中各像素值的数量
- [combinatorics] generating function (use generating function to solve the number of solutions of indefinite equation)
- Reappearance of ASPP (atlas spatial pyramid pooling) code
- Graduation summary
- What is the function of registering DLLs- What does registering a DLL do?
- Line by line explanation of yolox source code of anchor free series network (6) -- mixup data enhancement
猜你喜欢

Redis on local access server

PHP MySQL preprocessing statement

Three gradient descent methods and code implementation

Codeforces Round #803 (Div. 2) C. 3SUM Closure

English语法_名词 - 分类

Redis core technology and practice - learning notes (IX): slicing cluster

Read the paper glodyne global topology preserving dynamic network embedding

Ping problem between virtual machine and development board

12、 Service management

What is SQL get connection
随机推荐
Computer graduation design PHP sports goods online sales system website
Count the number of pixel values in the image
多媒体NFT聚合平台OKALEIDO即将上线,全新的NFT时代或将来临
Torch learning notes (1) -- 19 common ways to create tensor
Golang string (string) and byte array ([]byte) are converted to each other
Implementation of cqrs architecture mode under Kratos microservice framework
[combinatorics] generating function (use generating function to solve the number of solutions of indefinite equation example 2 | extended to integer solution)
Change the single node of Postgres database into master-slave
Win 11 major updates, new features love love.
198. Looting - Dynamic Planning
[combinatorics] generating function (generating function application scenario | using generating function to solve recursive equation)
Computer graduation project PHP library book borrowing management system
[untitled]
A. Berland Poker & 1000 [simple mathematical thinking]
Lesson 13 of the Blue Bridge Cup -- tree array and line segment tree [exercise]
Nodejs (01) - introductory tutorial
Multifunctional web file manager filestash
12、 Service management
Theoretical description of linear equations and summary of methods for solving linear equations by eigen
Mysql45 lecture learning notes (II)