导航:首页 > 编程语言 > python实现ssh登录

python实现ssh登录

发布时间:2025-06-30 16:47:17

⑴ 如何python3.4使用pexpect来实现SSH登陆

Pexpect 是 Don Libes 的 Expect 语言的一个 Python
实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模块。 Pexpect
的使用范围很广,可以用来实现与 ssh、ftp 、telnet
等程序的自动交互;可以用来自动复制软件安装包并在不同机器自动安装;还可以用来实现软件测试中与命令行交互的自动化。

在shell里面用过pexpect的人,相信都会很熟悉这种工具,pexpect是expect的python的一个实现,利用python来操作某些交互式的自动化任务是非常方便的。

如何在linux下安装?
1,使用wget https://pypi.python.org/pypi?:action=show_md5&digest= 下载
2,使用tar -zxvf pexpect-3.3.tar.gz解压
3,使用python setup.py install进行安装
ok,上面的步骤,执行完成之后,我们就可以来写个demo测试一下了,另外注意兼容问题,散仙的python是3.4,所以要下载支持python3.4的pexpect,如果你的python版本是2.x那么就要下载2.x的pexpect来使用。
下面是散仙模拟SSH登陆一台机器并打印磁盘情况,然后退出的例子:
#!/usr/local/python3.4/bin/python3.4
import pexpect
ip="192.168.46.22"
name="root"
pwd="abc"
#发送命令执行交互
child=pexpect.spawn('ssh %s@%s' % ("root",ip) )
#
child.expect ('password:')
child.sendline(pwd)
child.expect('$')
child.sendline('df -h')
#发送命令
child.sendline("exit")
child.interact()
#关闭pexpect
child.close()

执行结果如下:
Last login: Wed Oct 22 18:35:08 2014 from 192.168.46.31
exit[root@ganglia ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_ganglia-lv_root 30G 3.6G 25G 13% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 485M 32M 428M 7% /boot
[root@ganglia ~]# exit
logout
Connection to 192.168.46.22 closed.
[root@master 2012]#
本文只是一个简单的例子,可能觉得没有必要使用python来完成,但当系统管理规模一旦大起来的话,使用python来自动化管理是非常轻松的一件事。

⑵ 树莓派实现ssh动态密码登录

为增强树莓派系统安全性,手动编写python脚本实现SSH动态密码登录,适用于raspberrypi os(基于Debian GNU/Linux 12)。

在运行前,请确保安装所需库,如遇pip错误,请在虚拟环境中安装。同时,需在发件邮箱开启smtp服务。

简易版代码运行后,显示动态密码登录SSH效果良好。动态密码通过邮件发送,确保安全性。

为防止密码泄露,动态密码在发信端进行AES加密。树莓派(发信端)的passwdcg.py脚本加密密码。解密代码存于电脑,将邮件中的加密密码(不带单引号)复制至此,即可解密为8位数字,用于SSH登录。

实现定时发送密码,使用crontab工具。编写passwd.sh脚本,修改路径后,使用crontab -e添加定时任务,确保每10分钟收到一封动态密码邮件,通过解密代码解密使用。

为提升安全性,建议定期更换AES加密的密钥和向量,或尝试其他加密方式。在ssh.conf文件中设置仅允许动态密码登录,进一步增强安全性。

⑶ Pycharm使用SSH连接远程服务器

很多开发者在内网环境中工作时,常常需要远程连接到公司服务器进行代码调试,但基于安全和资源隔离的考量,通常无法直接访问公网进行更新和安装所需软件。本文将详细指导如何使用SSH连接远程服务器,并在本地开发环境中实现高效调试。

首先,构建容器环境以隔离不同项目间的依赖冲突。在内网环境下,使用Docker容器提供安全且独立的开发空间。需创建一个Docker容器并安装必要的软件,如SSH和VIM。

确保内网服务器的网络配置允许SSH连接。在服务器上备份原sources.list,然后添加自定义源地址以更新APT源。执行源更新操作后,安装SSH及VIM,接着配置SSH服务,允许root用户通过密码验证登录,并设置合适的密码。最后,启动SSH服务。

对于使用PyCharm进行开发的开发者,需要在本地配置远程服务器连接。在PyCharm中添加远程服务器链接,选择SFTP连接方式,并输入服务器IP、用户名(通常为root)和SSH端口号(通常映射为22或指定端口)。在配置SSH连接时,确保使用正确的密码进行验证。

接着,配置Python解释器和文件路径映射。在PyCharm中设置Python Interpreter,并选择SSH连接。添加服务器配置,确保Python解释器路径正确。设置文件同步,使本地和远程服务器的项目文件保持一致,同时开启自动上传项目文件到服务器的功能。

对于查看Python安装路径,只需在Python解释器环境中导入sys模块,执行sys.executable命令即可获取Python安装路径。

在CentOS7系统中配置远程服务器SSH连接时,首先需创建包含“--privileged=true”参数的Docker容器以确保SSH服务能正常启动。检查是否已安装openssh-server(通常会默认安装),如果没有,可更新源后进行安装。修改sshd_config文件,取消注释以允许远程访问,并配置密码验证。最后,启动SSH服务并设置开机自启动。

通过上述步骤,内网开发人员能够在本地实现与远程服务器的高效连接与调试,优化代码开发流程,提升工作效率。

阅读全文

与python实现ssh登录相关的资料

热点内容
北京压缩米饭 浏览:553
施工员与程序员哪个好 浏览:207
vc与word编程 浏览:950
androidmenu文字颜色 浏览:982
安卓手机玩游戏怎么会闪退 浏览:553
声控解压球要晾几天才能晾干呢 浏览:562
安卓手机拍照如何自动调整 浏览:627
程序员必知 浏览:22
cs16bot命令 浏览:869
马六压缩机不工作 浏览:407
c语言使用命令 浏览:781
初遇是个什么app 浏览:744
编译依赖包下载 浏览:879
excel表格数据加密怎么解密 浏览:475
外国安卓手机图片加密 浏览:724
帝国时代2电脑解压包 浏览:614
安卓机在国外怎么用 浏览:993
在微信上如何传文件夹 浏览:558
bios编译用什么语言 浏览:779
入手单片机 浏览:114