linux - 远程shell脚本

标签 linux shell

我有一个脚本在服务器上运行并在另一台服务器上做一些工作 我有很多 scp 命令和 ssh 命令,这就是为什么每次我都必须在每个远程命令中输入远程服务器密码的原因。 有没有办法在服务器之间建立 ssh 连接,这样我只输入一次远程密码? 谢谢

最佳答案

我建议设置一个 ssh config连同 ssh key 。简而言之,配置将为一个或多个远程服务器保留一个别名。

ssh remote_server1
ssh remote server2

虽然您的配置文件看起来像这样:

Host remote_server1
Hostname 192.168.1.12
user elmo
IdentityFile ~/.ssh/keys/remote.key
...

如果 ssh 配置文件不适合你(虽然我强烈推荐它),你可以使用 sshpass以及。

sshpass -p 't@uyM59bQ' ssh username@server.example.com

请注意,以上内容确实暴露了您的密码。如果其他人可以访问您的帐户,history 命令将显示上面的代码片段。

关于linux - 远程shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53410743/

相关文章:

linux - 在 Bash 中通过正则表达式从字符串中删除后缀?

shell - Unix shell 脚本 : exit with returning value

regex - 如何仅提取包含子域的 URL

linux - 为什么 perl 调试器找不到脚本找到的模块?

java - 编译 JNI 的问题

linux - 即使公共(public) IP 地址可能发生变化,Amazon EC2 实例能否拥有静态公共(public) DNS?

git - 从远程存储库获取最后提交日期而不进行克隆

linux - bash 及其引用规则的问题

linux - 15 分钟后将更新的文件从一台服务器复制到另一台服务器

python - 通过 pkexec 执行时缺少环境变量