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

2016-03-02 14:59:13 +08:00
 mathcoder23

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

6692 次点击
所在节点    Linux
7 条回复
Tink
2016-03-02 15:02:28 +08:00
ssh user@server bash < /path/to/local/script.sh
mathcoder23
2016-03-02 15:17:42 +08:00
@Tink Thanks
likuku
2016-03-02 15:21:39 +08:00
使用不设置 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
2016-03-02 15:39:04 +08:00
如果只是自己用着做做实验的话,可以尝试使用 expect
mathcoder23
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
2016-03-02 16:19:10 +08:00
可以用 expect 实现啊,不管输密码登录还是登录后自动执行命令。
https://blog.swineson.me/ssh-auto-password-login-with-expect/
ihciah
2016-03-02 22:36:21 +08:00
pwntools 也蛮方便,虽说目的不是做这个的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/260504

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX