V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
livc
V2EX  ›  Linux

linux expect 可以自动登录 mosh 吗?

  •  
  •   livc ·
    livc · 2016-08-20 13:26:21 +08:00 · 2440 次点击
    这是一个创建于 2831 天前的主题,其中的信息可能已经有所发展或是发生改变。

    expect 可以自动登录 ssh 和 ftp ,但是 mosh 的话我把脚本里的执行命令替换成 mosh 的登录命令会出错。

    如何自动登录 mosh ???像自动登录 SSH 那样。

    脚本语言不是很了解,多谢。

    #!/usr/bin/expect -f
    set user xxx
    set host xxx
    set password xxx
    set port xxx
    set timeout -1
    
    spawn mosh $user@$host --ssh="ssh -p $port"
    expect "*assword:*"
    send "$password\r"
    interact
    expect eof
    
    第 1 条附言  ·  2016-08-20 14:58:28 +08:00
    重新添加下 profile ,显示了错误信息:

    12 条回复    2018-11-15 18:13:52 +08:00
    skydiver
        1
    skydiver  
       2016-08-20 14:37:15 +08:00 via iPad
    最烦出错不贴错误信息的了
    skydiver
        2
    skydiver  
       2016-08-20 14:38:13 +08:00 via iPad
    难道要每个回答的人都自己搭环境试一遍看了错误信息再来帮你?
    livc
        3
    livc  
    OP
       2016-08-20 14:49:57 +08:00
    @skydiver 第一次运行有个提示没注意看,点了 suppress 什么的,以后点击就直接闪退。
    livc
        4
    livc  
    OP
       2016-08-20 14:58:51 +08:00
    @skydiver 刚重新添加了 profile ,显示了错误信息,抱歉。
    skydiver
        5
    skydiver  
       2016-08-20 14:59:49 +08:00 via iPad
    @livc 看这错误信息好修复吧, mosh 写全路径就行了
    msg7086
        6
    msg7086  
       2016-08-20 15:10:47 +08:00
    which mosh 拿到完整地址,插进去试试。
    livc
        7
    livc  
    OP
       2016-08-20 15:14:37 +08:00
    @skydiver
    @msg7086


    粗线了新问题,,端口号后面为毛有个" 。。
    skydiver
        8
    skydiver  
       2016-08-20 19:38:04 +08:00 via Android
    @livc 你先确定 mosh 直接用可以用再套上 expect
    skydiver
        9
    skydiver  
       2016-08-20 19:38:39 +08:00 via Android
    不过讨论了这么半天为什么不 key 来登录呢……不是更简单直接
    Tink
        10
    Tink  
       2016-08-20 19:48:10 +08:00
    你的 mosh 没找到
    Tink
        11
    Tink  
       2016-08-20 19:49:31 +08:00
    看了第二个图, mosh 的 server 段配置有问题
    sunznx
        12
    sunznx  
       2018-11-15 18:13:52 +08:00
    遇到楼主的问题了,我的解决方法是 在 ~/.ssh/config 里面指定 port 而是在 --ssh="xxx" 里面指定
    ```
    Host xxx
    Port=xxx
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2321 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:30 · PVG 08:30 · LAX 17:30 · JFK 20:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.