【问题标题】:ssh with password [duplicate]带密码的 ssh [重复]
【发布时间】:2012-11-19 04:49:07
【问题描述】:

可能重复:
pass password to su/sudo/ssh
SSH in shell scipt with password

有没有可能我可以为 ssh 命令传递密码

ssh root@10.20.30.40 | echo "Password" (or)      
echo "Password" | ssh root@10.20.30.40 (or) a script like below  
pw1="Password"
ssh -t root@168.56.64.245 <<< EOF  
$pw1  
EOF

任何解决方案都会有所帮助。

我在 Windows 上,我正在使用 putty 连接到 Linux 主机,然后从该 Linux 连接到另一台 Linux 主机。问题是我无法在 Linux 主机上使用任何 3rd 方工具,也无法添加 rsa-keys。

【问题讨论】:

  • 我无法使用 Expect 之类的工具。
  • 另外两个 Linux 版本都是 SUSE 11 Sp2
  • 避免这样做。使用公钥,并适当配置您的ssh。

标签: linux bash shell ssh passwords


【解决方案1】:

我知道你不能添加,但是看看是否安装了 sshpass

【讨论】:

    【解决方案2】:

    使用expect。见here

    我在我的一个项目中使用了它。这真的很有帮助。实现起来有点长,但逻辑很简单——在 ssh“查询”之后,你只是“期望”在命令期望之后写的东西作为正则表达式。希望对您有所帮助。

    【讨论】:

    • 仅限使用 Expect 等工具
    【解决方案3】:

    使用expect,这里是一个脚本示例:

    #!/usr/bin/expect -f
        set timeout 20
        set IPaddress [lindex $argv 0]
        set Username "your_username"
        set Password "your_password"
        set Directory DIRECTORY_PATH
    
        log_file -a $Directory/session_$IPaddress.log
        send_log "### /START-TELNET-SESSION/ IP: $IPaddress @ [exec date] ###\r"
    
        spawn telnet $IPaddress
        expect "Username: "
        send "$Username\r"
        expect "Password: "
        send "$Password\r"
        interact
        send_log "\r### /END-TELNET-SESSION/ IP: $IPaddress @ [exec date] ###\r"
    exit
    

    来源:Expect scripts for automatic login with telnet and SSH

    编辑:如果您不想使用期望工具,您应该尝试使用 ssh 密钥交换登录

    EDIT2:我读到您不想使用 except 或密钥交换,但我不确定如果没有这些可以实现。

    查看这篇文章:

    SSH Automatic Login

    另一种选择:

    http://sourceforge.net/projects/sshpass/

    【讨论】:

    • 感谢您的回复,但仅限使用 Expect 等工具
    • 更新了我的答案。如果您不想使用 expect 工具,您应该尝试使用 ssh 密钥交换登录
    • Carlos Lande,请参考这个问题。我不能使用任何 3rd 方工具或 ssh 密钥。不过谢谢。
    • 我读过,但我认为不可能。密码是人为输入的,终端正在猜测,所以如果你不使用外部工具的证书信任,我认为它无法完成。我会仔细检查这个问题,如果有我也想知道的方法。谢谢;)
    • 谢谢卡洛斯。感谢您的帮助。
    猜你喜欢
    • 2022-11-06
    • 2012-12-17
    • 2013-09-18
    • 2011-07-30
    • 1970-01-01
    • 2014-09-29
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多