相关疑难解决方法(0)

在bash脚本中使用expect为SSH命令提供密码

对于那些想要回复我应该使用SSH密钥的人请弃权

我正在尝试在bash脚本中使用expect来提供SSH密码.提供密码是有效的,但我不会像我应该的那样在SSH会话中结束,它会回到海峡.

我的剧本:

#!/bin/bash

read -s PWD

/usr/bin/expect <<EOD
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com'
expect "password"
send "$PWD\n" 
EOD
echo "you're out"
Run Code Online (Sandbox Code Playgroud)

我脚本的输出:

spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com
usr@$myhost.example.com's password: you're out
Run Code Online (Sandbox Code Playgroud)

我想拥有我的SSH会话,只有当我退出它才能返回我的bash脚本.我之前使用bash的原因是因为我使用了一个菜单,我可以选择连接哪个单元.

谢谢

linux ssh bash expect

125
推荐指数
8
解决办法
35万
查看次数

Bash:控制SSH

我有这个bash文件,它要求OpenSSH到设备的IP,密码等.

现在,如果我使用ssh root@ip,我必须输入密码.这真的很烦人.其次; 我不能让我的脚本发送命令.

这就是我想要的 - >

  1. 不是密码的东西; 我已经找到了一些东西 但它告诉我找不到命令?:

    #!/usr/bin/expect -f

    spawn ssh root@$IPADDR

    expect "password:"

    sleep 1

    send "$rpass\r"

    1. 我希望用户能够看到一些可以选择的菜单; 之后; 每个命令都是为他完成的.就像一个新窗口,或类似的东西?

    2. 我不想使用: - 任何外部的东西 - 没有额外编辑SSH连接

BASH INFO:GNU Bash,v.4.0.33(1)-release(i486-pc-linux-gnu),在Linux Mint上运行.但它必须可用于几个Linux发行版,还可以在Mac上使用?

ssh bash controls

8
推荐指数
2
解决办法
1万
查看次数

将Bash脚本SSH连接到计算机而不提示密码且不使用密钥

我发现这个问题已被问过几次,但在我搜索的任何地方都找不到相关的答案.

我正在开发环境中工作,安全性不是问题,任何人都可以猜测密码,如果想到几秒钟.

我想做的很简单.我已在我的本地.bashrc文件中创建了一个别名函数,我希望此函数能够自动登录到具有默认密码的计算机.

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

function s () { 
 ssh root@192.168.1.$1
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到这样的东西:

~]s 122

ssh root@192.168.1.122

root@192.168.1.122's password: 
Run Code Online (Sandbox Code Playgroud)

使用Bash,而不使用RSA密钥我想使用默认密码'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
Run Code Online (Sandbox Code Playgroud)

它给出了以下错误:

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...
Run Code Online (Sandbox Code Playgroud)

使用以下命令,我可以连接一台机器.如果我删除了交互,它只运行uptime命令并关闭连接.使用interaction命令,我无法看到我正在键入的内容或实际与机器进行交互.有任何想法吗?

Do=$(expect -c "spawn ssh $User@${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}; set timeout 4; expect \"assword\"; send \"password\n\"; expect …
Run Code Online (Sandbox Code Playgroud)

ssh bash

6
推荐指数
2
解决办法
4万
查看次数

通过python在脚本中使用密码ssh到远程机器

我正在使用远程机器。每次我需要验证文件更新时间时,我都必须使用 ssh,并且有多个脚本可以通过 ssh 连接到远程计算机。我在网上查了一下,但找不到符合我要求的。

我试图找到一个使用 ssh 的 python 脚本,并且密码也在脚本中,因为我的 python 脚本将每 5 分钟检查一次文件修改时间,并且每次执行脚本时我无法输入密码。我尝试了来自 SO 和互联网的这些代码,但无法满足我的需求。 通过使用 python 中的脚本提供密码来建立 ssh 会话

如何使用python远程执行进程

另外我通过 ssh 简单地进入一台远程计算机。然后我尝试 ssh 但通过 python 脚本到另一台远程计算机 cox 这个 python 脚本还包含检查不同文件的修改时间的代码..意味着我已经 ssh 到一台远程计算机然后我想从那里运行一些 python 脚本来检查另一台远程计算机上文件的文件修改时间。有没有一种简单的方法可以在 python 脚本中使用密码来 ssh 远程计算机。。我会很感激。

python ssh remote-access

5
推荐指数
1
解决办法
2万
查看次数

Jupyter 笔记本密码无法通过 SSH 工作

尝试通过 SSH 连接到 Jupyter Notebook。

我有一个通过 SSH 登录机器的脚本:

#!/usr/bin/expect -f
spawn ssh -L localhost:4000:localhost:8889 user@sshaddress.com
expect "assword:"
send "password\r"
interact
Run Code Online (Sandbox Code Playgroud)

设置jupyter密码:

jupyter notebook password
# set it to something
Run Code Online (Sandbox Code Playgroud)

然后我运行 jupyter:

jupyter notebook --no-browser --port=8889
Run Code Online (Sandbox Code Playgroud)

然后我打开我的localhost:4000并获得 jupyter 登录页面。

但是,在此处输入密码只会给出“无效凭据”。

为什么会这样呢?

python ssh jupyter-notebook

5
推荐指数
1
解决办法
2151
查看次数

标签 统计

ssh ×5

bash ×3

python ×2

controls ×1

expect ×1

jupyter-notebook ×1

linux ×1

remote-access ×1