ssh 用户名密码登录

博客介绍了如何在ssh不允许密码登录的情况下,利用expect工具在Ubuntu系统中进行远程登录和执行命令。提供了一个GitHub链接,包含一个示例脚本。
摘要由CSDN通过智能技术生成

ssh不允许用户名密码登录的,然后大神告诉我有个expect可以实现。

安装expect

ubuntu的安装,别的请自己百度

apt-get install expect

使用

大神当然有demo,嘿嘿,拿来直接用
传送门https://github.com/wuhp/tools/tree/master/script
粘过来一个:
./remote_bash [ip] [user] [passwd] “[cmd]”
在远程主机ip上以用户名user密码passwd登录并执行xxx命令

#!/usr/bin/expect -f

# Usage:
#   ./remote_bash [ip] [user] [passwd] "[cmd]"

# In this case, the command line beginner should like '[root@localhost node]# ', ending with ']# '

if { 
SSH(Secure Shell)是一种网络协议,用于在不安全的网络中为计算机之间提供安全的加密通信。通常,使用SSH连接到远程服务器时,会提示用户输入用户名密码。但如果你想避免手动输入,可以使用SSH命令行参数来自动提供这些凭证。 请注意,直接在命令行中包含用户名密码并不是一个安全的做法,因为这样做会将密码以明文形式存储在历史记录或进程列表中,可能会被其他用户看到。因此,推荐使用更安全的方法,比如使用SSH密钥对认证。 如果你仍然需要在命令行中传递用户名密码,可以使用以下方法: 1. 使用`sshpass`工具: `sshpass`是一个用于非交互式输入SSH密码的工具。安装`sshpass`后,你可以使用如下命令: ```bash sshpass -p '你的密码' ssh 用户名@远程主机地址 ``` 2. 使用SSH配置文件: 在你的`~/.ssh/config`文件中设置自动登录信息。但这种方法实际上并不直接在命令行中包含密码,而是在配置文件中指定如何登录。配置文件的内容类似于: ``` Host 远程主机别名 HostName 远程主机地址 User 用户名 PasswordAuthentication yes PreferredAuthentications password Password 你的密码 ``` 然后你可以简单地使用别名来登录: ```bash ssh 远程主机别名 ``` 再次强调,使用配置文件或`sshpass`等工具自动传递密码存在安全风险,不建议在安全性要求较高的环境中使用。在可能的情况下,应该使用SSH密钥认证方式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值