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

shell 脚本执行后 ssh 连入远程服务器

  •  
  •   mathcoder23 · 2016-03-02 14:59:13 +08:00 · 6887 次点击
    这是一个创建于 3192 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在本地写好 shell 脚本,执行后自动登陆服务器(ssh host@ip,这个能自动登陆)
    登陆后,接下来的脚本(如 cd /home)如何才能是在服务器执行而非本地.

    7 条回复    2016-03-02 22:36:21 +08:00
    Tink
        1
    Tink  
       2016-03-02 15:02:28 +08:00   ❤️ 1
    ssh user@server bash < /path/to/local/script.sh
    mathcoder23
        2
    mathcoder23  
    OP
       2016-03-02 15:17:42 +08:00
    @Tink Thanks
    likuku
        3
    likuku  
       2016-03-02 15:21:39 +08:00   ❤️ 1
    使用不设置 passphrase 的 ssh-public/private key 对登录。

    目标服务器上的 ssh-public key 里可以写入一条 shell 指令,使用此 key 登录目标服务器即执行 public-key 内的 shell 指令。

    比如:

    command="/bin/bash /home/test/some.sh" ssh-rsa AAAA......ssh-public-rsa-key 内容

    注意,如此这般,登录这么设置的服务器,这对密钥就只能用来执行这条指令,不能 login 获得一个交互式 shell 终端。
    wyce2007
        4
    wyce2007  
       2016-03-02 15:39:04 +08:00   ❤️ 1
    如果只是自己用着做做实验的话,可以尝试使用 expect
    mathcoder23
        5
    mathcoder23  
    OP
       2016-03-02 16:09:28 +08:00
    @likuku
    @wyce2007
    自动登陆我弄好了.
    http://be-evil.org/linux-ssh-login-without-using-password.html



    ssh-keygen -t rsa
    ssh-copy-id -i 公钥文件路径 user@server
    zhjits
        6
    zhjits  
       2016-03-02 16:19:10 +08:00   ❤️ 1
    可以用 expect 实现啊,不管输密码登录还是登录后自动执行命令。
    https://blog.swineson.me/ssh-auto-password-login-with-expect/
    ihciah
        7
    ihciah  
       2016-03-02 22:36:21 +08:00   ❤️ 2
    pwntools 也蛮方便,虽说目的不是做这个的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:16 · PVG 23:16 · LAX 07:16 · JFK 10:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.