gpt4 book ai didi

Bash 脚本通过 SSH 进入机器而不提示密码且不使用 key

转载 作者:行者123 更新时间:2023-11-29 08:59:23 29 4
gpt4 key购买 nike

我知道这个问题已被问过几次,但我在搜索中找不到相关答案。

我在一个安全性不是问题的开发环境中工作,只要想几秒钟,任何人都可以猜出密码。

我想做的很简单。我在我的本地 .bashrc 文件中创建了一个别名函数,我希望这个函数可以使用默认密码自动登录到一台机器。

我目前的实现看起来像这样:

function s () { 
ssh root@192.168.1.$1
}

当我运行它时,我得到这样的结果:

~]s 122

ssh root@192.168.1.122

root@192.168.1.122's password:

使用 Bash,而不是使用 RSA key ,我想让它使用默认密码“password”。

我已经尝试了以下已经设置了 IP 和用户的地方。

Do=$(expect -c "
spawn ssh $User@${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}
expect \"yes/no\"
send \"yes\r\"
expect \"assword\" send \"password\"")
echo $Do
$Do

它给出了以下错误:

Connecting and logging into server using expect
usage: send [args] string
while executing
"send"
invoked from within
"expect "assword" send "password""
Administrator@192.168.1.176's password:
bash: spawn: command not found...

使用以下命令我可以连接一台机器。如果我删除交互,它只会运行正常运行时间命令并关闭连接。使用 interact 命令,我无法看到我正在输入的内容或实际与机器交互。有什么想法吗?

Do=$(expect -c "spawn ssh $User@${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}; set timeout 4; expect \"assword\"; send \"password\n\"; expect \"test\"; send \"uptime\n\"; interact;");echo $Do;

最佳答案

您可以使用 expect 工具执行此操作:http://expect.sourceforge.net/

它广泛可用,因此根据您的系统,等效于 sudo apt-get install expectyum install expect 将安装它。

这是一个使用 ssh 的 expect 脚本的例子。这会让您登录并让您控制交互式提示:

#!/usr/bin/expect

set login "root"
set addr "127.0.0.1"
set pw "password"

spawn ssh $login@$addr
expect "$login@$addr\'s password:"
send "$pw\r"
expect "#"
send "cd /developer\r"
interact

这是一个如何将 expect 作为 bash 脚本的一部分使用的示例。这使用 ssh 登录,cd 到/var,运行脚本,然后退出 ssh session 。

#!/bin/bash
...

login_via_ssh_and_do_stuff() {

# build the expect script in bash

expect_sh=$(expect -c "
spawn ssh root@127.0.0.1
expect \"password:\"
send \"password\r\"
expect \"#\"
send \"cd /var\r\"
expect \"#\"
send \"chmod +x my_script.sh\r\"
expect \"#\"
send \"./my_script.sh\r\"
expect \"#\"
send \"exit\r\"
")

# run the expect script
echo "$expect_sh"
}

您可以将这些片段留在本地系统的脚本中,然后只为脚本添加别名。

另外:我知道你说安全不是问题,但我想再次指出,不使用密码的 ssh 的“正确”方法是使用 ssh key 对 =)

关于Bash 脚本通过 SSH 进入机器而不提示密码且不使用 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13298487/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com