脚本之SSH登录

脚本之SSH登录

一)【python实现】
导入pxssh模块
常用的三个方法:
Login() 建立ssh连接
Logout() 断开连接
Prompt() 等待系统提示符,用于等待命令执行结束

Sendline() 发送命令并回车
Send() 发送命令不回车

[root@server0 318]# cat a.py 
#!/usr/bin/python
import getpass
import pxssh
try:
    s=pxssh.pxssh()
    hostname=raw_input("please input the name: ")
    username=raw_input("please inpyt the username: ")
    password=getpass.getpass('please input the password: ')
    s.login(hostname,username,password)
    s.sendline('uptime')
    s.prompt()
    print s.before
    s.sendline('ls -l')
    s.prompt()
    print s.before
    s.sendline('df')
    s.prompt()
    s.logout()
except:
    print 'failed'

993421-20160726155033091-1598853201.png

转载于:https://www.cnblogs.com/hanfei-1005/p/5707776.html

Shell脚本中实现SSH登录通常涉及到使用SSH命令和可能的密码输入或密钥认证。一种常见的方法是使用sshpass工具,它允许你在命令中直接提供密码。不过,需要注意的是,使用明文密码并不是一个安全的做法,所以更推荐使用SSH密钥认证方式。 以下是使用SSH密钥认证的一个简单示例: 1. 首先确保本地机器和目标机器之间建立了SSH密钥认证。这意味着你需要在本地机器生成一对密钥,并将公钥复制到远程机器的`~/.ssh/authorized_keys`文件中。 2. 然后,你可以创建一个shell脚本来通过SSH连接到远程机器。使用密钥认证,你不需要在脚本中输入密码。 ```bash #!/bin/bash # 目标服务器的用户名和地址 USERNAME="your_username" REMOTE_HOST="your_remote_host" REMOTE_COMMAND="ls -l" # 使用ssh连接到远程服务器执行命令 ssh "$USERNAME@$REMOTE_HOST" "$REMOTE_COMMAND" ``` 如果你确实需要使用密码,可以使用sshpass工具: ```bash #!/bin/bash # 目标服务器的用户名和地址 USERNAME="your_username" REMOTE_HOST="your_remote_host" PASSWORD="your_password" REMOTE_COMMAND="ls -l" # 使用sshpass和ssh进行密码认证的SSH连接 sshpass -p "$PASSWORD" ssh "$USERNAME@$REMOTE_HOST" "$REMOTE_COMMAND" ``` 请记住,使用sshpass可能带来安全风险,因为它需要在脚本中明文存储密码。确保对包含密码的脚本进行适当的安全处理,例如限制脚本的读取权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值