ssh远程登录ubuntu系统并截图

本文介绍了如何通过python的paramiko库远程登录ubuntu系统,并执行gnome-screenshot命令进行截图。首先,使用paramiko建立SSH连接,然后执行包含截图指令的shell脚本,实现远程截图并保存到指定目录。
部署运行你感兴趣的模型镜像

**

ssh远程登录ubuntu系统并截图

**
最近在搞自动化,研究了下用python脚本远程登录ubuntu系统再实现对当前系统界面的截图,有的方法失败了,只成功了一种;
第一步:
#python远程linux系统:
import paramiko
import time

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=‘ip’,port=22,username = ‘name’,password=‘mima’)
第二步:
调用命令:
stdin, stdout, stderr = client.exec_command(‘sh 1.sh’)
print(stdout.read().decode(‘utf-8’))#显示命令执行后的打印信息
第三步:
在对应liunx机器上写下截屏的命令
suirui@suirui:~$ cat 1.sh
#!/bin/sh
export DISPLAY=:0
gnome-screenshot -f /mulu/11.png #全屏截图保存至特定目录下并重命名文件

ubuntu截图命令解释
Ubuntu自带了截屏工具gnome-screenshot,在命令行下输入gnome-screenshot,默认截的全屏;
gnome-screenshot -h
用法: gnome-screenshot [选项…] 对屏幕截图
帮助选项:
   -h, --help 显示帮助选项
  --help-all 显示全部帮助选项
  --help-gtk 显示 GTK+ 选项

应用程序选项:
  -c, --clipboard 将截图直接发送到剪贴板
  -w, --window 截取窗口,而不是整个屏幕
  -a, --area 截取屏幕的一个区域,而不是整个屏幕
  -b, --include-border 在截图中包含窗口边框
  -B, --remove-border 去除屏幕截图的窗口边框
  -p, --include-pointer 在截图中包含鼠标指针
  -d, --delay=秒 在指定延迟后截图[以秒计]
  -e, --border-effect=特效 添加到边框的特效(阴影 shadow 、边框 border 或无特效 none)
  -i, --interactive 交互设置选项
  -f, --file=文件名 将截图直接保存为该文件
  --version 打印版本信息并退出
  --display=显示 要使用的 X 显示

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 如何从 Windows 系统通过 SSH 远程访问 Ubuntu 系统 要在 Windows 系统中通过 SSH 远程访问 Ubuntu 系统,可以按照以下方法完成设置和连接。 #### 1. 在 Ubuntu 系统上配置 SSH 服务 确保目标 Ubuntu 系统已经安装启用了 SSH 服务。如果尚未安装 OpenSSH 服务器软件包,可以通过以下命令进行安装: ```bash sudo apt-get update sudo apt-get install openssh-server ``` 安装完成后,重启 SSH 服务以加载最新配置: ```bash sudo systemctl restart ssh ``` 同时,设置 SSH 服务开机自启,以确保每次系统启动时 SSH 服务都会自动启动: ```bash sudo systemctl enable ssh ``` #### 2. 获取 Ubuntu 系统的 IP 地址 在 Ubuntu 系统中运行以下命令,获取其局域网中的 IP 地址: ```bash ip addr show ``` 找到与网络接口(如 `eth0` 或 `wlan0`)关联的 IPv4 地址。例如,假设 Ubuntu 的 IP 地址为 `192.168.1.100`[^1]。 #### 3. 在 Windows 系统上安装 SSH 客户端 Windows 10 及更高版本通常已内置了 OpenSSH 客户端功能。可以通过以下方式验证是否已启用: - 打开 PowerShell 输入以下命令检查是否安装了 OpenSSH 客户端: ```powershell Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*' ``` 如果未安装,可以通过以下命令启用: ```powershell Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 ``` #### 4. 使用命令行工具连接到 Ubuntu 系统Windows 的命令提示符或 PowerShell 中,输入以下命令连接到 Ubuntu 系统: ```powershell ssh username@192.168.1.100 ``` 将 `username` 替换为 Ubuntu 系统上的用户名,将 `192.168.1.100` 替换为实际的 Ubuntu 系统 IP 地址。首次连接时,可能会提示接受远程主机的公钥指纹,输入 `yes` 继续[^2]。 #### 5. 配置无密码登录(可选) 为了实现无密码登录,可以在 Windows 系统上生成 SSH 密钥对,将其公钥复制到 Ubuntu 系统。步骤如下: 1. 在 Windows 系统上生成 SSH 密钥对(如果尚未生成): ```powershell ssh-keygen -t rsa -b 4096 ``` 2. 将生成的公钥复制到 Ubuntu 系统: ```powershell cat ~/.ssh/id_rsa.pub | ssh username@192.168.1.100 "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys" ``` 3. 在 Ubuntu 系统上设置正确的权限: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` #### 6. 使用 Visual Studio Code 进行远程开发(可选) 如果需要使用 Visual Studio Code (VS Code) 进行远程开发,可以安装 VS Code 的 Remote - SSH 插件。安装后,按照以下步骤操作: 1. 打开 VS Code 安装 **Remote - SSH** 插件。 2. 按下 `Ctrl+Shift+P`,选择 **Remote-SSH: Connect to Host...**。 3. 输入目标 Ubuntu 系统的地址,例如 `ssh username@192.168.1.100`。 4. 连接成功后,即可在 VS Code 中直接编辑和调试远程文件[^1]。 ### 注意事项 - 确保 Ubuntu 系统允许通过防火墙访问 SSH 端口(默认为 22)。可以通过以下命令开放端口: ```bash sudo ufw allow 22 ``` - 如果 Ubuntu 系统位于不同的网络环境(如互联网),需要确保路由器端口转发已正确配置。 ---
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值