python windows 登录_在windows下自动SSH登录

下面是我的ssh自动脚本的一部分,您可以根据自己的使用情况对其进行自定义

它可能不会用完import os

import getpass

import pexpect

import glob

import logging

import shutil

import time

class UpdateError(Exception): pass

g_password = None

def runSshCommand(cmd):

global g_password

ssh_newkey = 'Are you sure you want to continue connecting'

# my ssh command line

p=pexpect.spawn(cmd)

i=p.expect([ssh_newkey,'password:',pexpect.EOF])

if i==0:

print "Saying yes to connection.."

p.sendline('yes')

i=p.expect([ssh_newkey,'password:',pexpect.EOF])

if i==1:

while True:

if g_password is None:

g_password = getpass.getpass("password:")

p.sendline(g_password)

i = p.expect(['password:',pexpect.EOF])

if i==0:

g_password = None

print "Wrong password"

else:

break

elif i==2:

raise UpdateError("Got key or connection timeout")

return p.before

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Paramiko来实现通过PythonWindows下文件夹内文件传到阿里云服务器。 首先需要安装Paramiko,可以通过pip来安装: ``` pip install paramiko ``` 接着,编写Python脚本: ```python import os import paramiko # Windows本地文件夹路径 local_path = "C:\\path\\to\\folder" # 阿里云服务器IP地址 server_ip = "your_server_ip" # 阿里云服务器用户名 username = "your_username" # 阿里云服务器密码 password = "your_password" # 阿里云服务器文件夹路径 remote_path = "/path/to/folder" # 创建SSH客户端 ssh = paramiko.SSHClient() # 自动添加主机名和主机密钥到本地的HostKeys对象 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(server_ip, username=username, password=password) # SFTP客户端 sftp = ssh.open_sftp() # 遍历本地文件夹 for file_name in os.listdir(local_path): # 拼接本地文件完整路径 local_file = os.path.join(local_path, file_name) # 拼接远程文件完整路径 remote_file = os.path.join(remote_path, file_name) # 上传文件 sftp.put(local_file, remote_file) # 关闭SFTP客户端 sftp.close() # 关闭SSH客户端 ssh.close() ``` 说明: - `local_path`:本地文件夹路径,需要修改为实际路径。 - `server_ip`:阿里云服务器IP地址,需要修改为实际IP地址。 - `username`:阿里云服务器用户名,需要修改为实际用户名。 - `password`:阿里云服务器密码,需要修改为实际密码。 - `remote_path`:阿里云服务器文件夹路径,需要修改为实际路径。 - `paramiko.SSHClient()`:创建SSH客户端。 - `paramiko.AutoAddPolicy()`:自动添加主机名和主机密钥到本地的HostKeys对象。 - `ssh.connect()`:连接服务器。 - `ssh.open_sftp()`:创建SFTP客户端。 - `os.listdir()`:遍历本地文件夹。 - `os.path.join()`:拼接文件路径。 - `sftp.put()`:上传文件。 - `sftp.close()`:关闭SFTP客户端。 - `ssh.close()`:关闭SSH客户端。 运行脚本即可将本地文件夹内的文件上传到阿里云服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值