命令行远程操作windows

如遇安装python模块问题,请参考此连接处理:http://t.csdnimg.cn/l9W6f

一、命令行中使用ssh连接

1、安装 OpenSSH 客户端:

  1. 在 Windows 10 中,打开“设置”应用,选择“应用” > “可选功能” > “添加功能”。
  2. 找到并安装“OpenSSH 客户端”。
  3. 启动sshd
 net start sshd

2、确保目标计算机上已配置 OpenSSH 服务器:

  1. 在要连接的 Windows 计算机上,按照相应的指南安装并配置 OpenSSH 服务器。
  2. 启动
  • sshd net start sshd

注:状态查看

Add-WindowsCapability -Online -Name OpenSSH.Server*
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Server*'

3、连接另一台 Windows 计算机:

打开命令提示符(cmd)或 PowerShell。
使用以下命令连接到目标计算机:

ssh username@remote_computer_ip

其中,username 是目标计算机上的用户名,remote_computer_ip 是目标计算机的 IP 地址。

4、输入密码

输入目标计算机上对应用户的密码,以建立 SSH 连接。

二、python模块paramiko

参考连接:https://www.cnblogs.com/10086upup/p/17621364.html
paramiko是一个基于SSHv2协议的纯Python(2.7,3.4+)库;

  • 提供了客户端和服务器的功能;
  • 可以实现SSH2远程安全连接,支持认证和密钥方式;
  • 一般用于执行远程命令、传输文件、中间SSH代理等。
  • paramiko可以在Python代码中直接使用SSH协议对远程服务器进行操作,而不是调用ssh命令对远程服务器进行操作。

前置条件:
        两台windows电脑的ssh已启动。环境配置如第一种方法所述。

1、安装

pip install paramiko

2、代码示例


import paramiko# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# time.sleep(10)
# 连接远程电脑
ssh.connect(hostname='ip', port=22, username='comptername', password='compterpwd', timeout= 60)
# time.sleep(10)
# 执行命令
stdin, stdout, stderr = ssh.exec_command('ipconfig')# 打印输出结果
print(stdout.read())# 关闭连接
ssh.close()

三、winrm

        WinRM服务基于HTTP(HTTPS)协议,使用5985端口(HTTPS使用5986端口)。按照微软官方的介绍:Windows2008 R2以上版本的操作系统,默认开启WinRM服务,因此,在使用时只需将防火墙相应的5985(或5986)端口开放即可;

1、安装pywinrm

pip install pywinrm

2、配置服务器winrm服务

以管理员方式cmd

右键点击这里,

winrm service 基础配置:

winrm quickconfig

查看winrm service listener:

winrm e winrm/config/listener

为winrm service 配置auth:

winrm set winrm/config/service/auth @{Basic="true"}

为winrm service 配置加密方式为允许非加密:

winrm set winrm/config/service @{AllowUnencrypted="true"}

若此处报错,这是因为网络连接属性“公用”导致。将其改为“专用”即可。

设置后,操作不报错,有相关信息即可。

3、代码示例

import winrm   # pip install pywinrmsession = winrm.Session('http://computerip/wsman',auth=('computername','computerpwd'))
command = r'ipconfig'
result = session.run_cmd(command)  #cmd执行
#result = session.run_ps(command)  #powershell执行
print(result)
print(result.status_code)
code = result.status_code# 根据返回码,获取响应内容(bytes)
content = result.std_out if code == 0 else result.std_err
try:result = content.decode("utf8")
except:result = content.decode("GBK")
print(result)

更多参考如下:

python选用pywinrm模块连接远程的windows服务器:http://t.csdnimg.cn/gN0YZ

http://t.csdnimg.cn/Rb2mb

http://t.csdnimg.cn/vCxp9 带有详细设置

http://t.csdnimg.cn/nu0vy

http://t.csdnimg.cn/GAWvp 使用Protocol方法、使用session方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/185870.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CCLINK IEFB总线转ETHERNET/IP网络的协议网关使欧姆龙和三菱的数据互通的简单配置方法

想要实现CCLINK IEFB总线和ETHERNET/IP网络的数据互通。 捷米JM-EIP-CCLKIE是一款ETHERNET/IP从站功能的通讯网关,该产品主要功能是实现CCLINK IEFB总线和ETHERNET/IP网络的数据互通。本网关连接到ETHERNET/IP总线和CCLINK IEFB总线上都可以做为从站使用。网关分别…

uni-app学习笔记(二)

目录 一、路由与页面跳转 1、tabar与普通页面跳转例子 2、navigateTo 3、switchTab 二、vue组件 1、传统vue组件的使用 2、easycom 三、uView组件库 1、安装配置 2、引入配置 3、使用 四、Vuex 1、认识 2、state基本使用 3、mapState使用 五、网络请求 1、封装…

云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…

【ChatGPT】人工智能的下一个前沿

🎊专栏【ChatGPT】 🌺每日一句:慢慢变好,我是,你也是 ⭐欢迎并且感谢大家指出我的问题 文章目录 一、引言 二、ChatGPT的工作原理 三、ChatGPT的主要特点 四、ChatGPT的应用场景 五、结论与展望 ​​​​​​​ 一、引言 随着人工智能技…

MyBatis(二)

3. MyBatis获取参数值的两种方式 两种方式:${}和#{} ${}的本质就是字符串拼接,#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位…

ClickHouse开发系列

一、 ClickHouse详解、安装教程_clickhouse源码安装 二、ClickHouse 语法详解_clickhouse讲解 三、ClickHouse SQL 操作语句详解 四、ClickHouse 高级教程—官方原版 五、ClickHouse主键索引最佳实践 六、MySQL与ClickHouse集成 七、ClickHouse 集成MongoDB、Re…

Yolov8部署——vs2019生成解决方案问题

Yolov8部署——vs2019生成解决方案问题 (1)Yolov8部署 最近开始在win10上部署Yolov8,并用tensorrt加速,从此贴开始记录后续遇到的部署问题。 (2)vs2019生成解决方案问题 报错如下图: NvInfer.h是Tenso…

基于SSM+Vue的随心淘网管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

BSP-STM32移植FreeRTOS

在stm32裸机工程中的Middlewares目录添加freeRtos源码 在裸机工程中的main中调用freertos接口

【JavaEESpring】认识Spring

认识Spring 1. 什么是框架2. SpringBoot 介绍2.1 Spring 的介绍2.2 SpringBoot 1. 什么是框架 框架(Framework) ,意思是框架、机制、准则。通俗的来讲: 框架是实现某种功能的半成品, 他提供了⼀些常⽤的⼯具类, 我们在框架的基础上, 可以更加⾼效的进⾏开发 后端框…

docker搭建mysql环境

1. 基础环境 名称描述CentOS 7.6Linux操作系统版本docker 20.10.5docker版本mysql 8.0.29mysql镜像版本 2. 下载安装 使用docker命令下载mysql镜像 [rootzhouwei ~]# docker pull mysql:8.0.29查看docker仓库是否已经下载了mysql镜像 [rootzhouwei ~]# docker images将mys…

Java算法(六):模拟评委打分案例 方法封装抽离实现 程序的节流处理

Java算法(六) 评委打分 需求: 在编程竞赛中,有 6 个评委为参赛选手打分,分数为 0 - 100 的整数分。 选手的最后得分为:去掉一个最高分和一个最低分后 的 4个评委的平均值。 注意程序的节流 package c…

【 毕设项目源码推荐 javaweb 项目】 基于 springboot+vue 的图书个性化推荐系统的设计与实现(springboot003)

简介 :::warning 【 毕设项目源码推荐 javaweb 项目】 基于 springbootvue 的图书个性化推荐系统的设计与实现适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负…

【快速使用ShardingJDBC的哈希分片策略进行分库分表】

文章目录 🔊博主介绍🥤本文内容🍊1.引入maven依赖🍊2.启动类上添加注解MapperScan🍊3.添加application.properties配置🍊4.普通的自定义实体类🍊5.写个测试类验证一下🍊6.控制台打印…

c#如何把字符串中的指定字符删除

可以使用以下四种方法: 一、使用关键字:Replace public string Replace(char oldChar,char newChar); 在对象中寻找oldChar,如果寻找到,就用newChar将oldChar替换掉。 1、实例代码: 2、执行结果: 二、Rem…

洛谷P5731 【深基5.习6】蛇形方阵java版题解

import java.util.Arrays; import java.util.Scanner;// 给出一个不大于9的正整数n,输出nn的蛇形方阵。 public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[][] a new int[n][n];int total…

AWTK 与 Qt 的异同点比较

相似之处: 跨平台支持: AWTK 和 Qt 都提供了跨平台的支持,可以在多种操作系统上进行开发和部署,包括 Windows、Linux、macOS 等。丰富的组件库: 两者都提供了丰富的图形界面组件库,能够满足各种应用程序的…

在Google Kubernetes集群创建分布式Jenkins(二)

上一篇博客在Google Kubernetes集群创建分布式Jenkins(一)-CSDN博客我介绍了如何在GCP的K8S集群上部署一个分布式的Jenkins,并实现了一个简单的Pipeline的运行。 在实际的开发中,我们通常都会按照以下的CICD流程来设置Pipeline 在我司的实际实践中&…

Spring Cloud之多级缓存

目录 传统缓存 多级缓存 JVM进程缓存 Caffeine 缓存驱逐策略 实现进程缓存 常用Lua语法 数据类型 变量声明 循环使用 定义函数 条件控制 安装OpenResty 实现Nginx业务逻辑编写 请求参数解析 实现lua访问tomcat JSON的序列化和反序列化 Tomcat的集群负载均衡 …

MacOS升级后命令行出现xcrun: error: invalid active developer path报错信息

在Mac上用g编译cpp文件时,出现以下(类似于工具环境问题的)报错: 解决方案:重新安装最新版的MacOS Command Line Tools xcode-select --install重新尝试编译: 编译成功(忽略这个warning&…