技术解析

shell 脚本执行后 ssh 连入远程服务器
0
2021-07-04 22:46:56
idczone

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


ssh [email&bash < /path/to/local/script.sh

Thanks

使用不设置 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 终端。

如果只是自己用着做做实验的话,可以尝试使用 expect



自动登陆我弄好了.
http://be-evil.org/linux-ssh-login-without-using-password.html

ssh-keygen -t rsa
ssh-copy-id -i 公钥文件路径 [email protected]

可以用 expect 实现啊,不管输密码登录还是登录后自动执行命令。
https://blog.swineson.me/ssh-auto-password-login-with-expect/

pwntools 也蛮方便,虽说目的不是做这个的

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服