linux - 远程机器中 Sudo 的 Shell 脚本并执行命令

标签 linux sudo

#!/bin/csh
ssh -o StrictHostKeyChecking=no xyz123@remotemachine.com
sudo -su rootuser
ksh
. /mydir/setup_env.ksh
ls -ltr

以上是我需要完成的任务列表。

  1. 在没有密码提示的情况下登录远程机器
  2. 运行 Sudo 以访问 Root
  3. 将 shell 更改为 ksh
  4. 执行脚本(setup_env.ksh)
  5. 使用 ls -ltr 列出文件

当我从 执行此脚本时,假设是 localunixmachine.com...

  1. 它问我密码
  2. 一旦我输入密码,它将传输到远程机器但不会执行剩余的命令
  3. 如果我退出远程 session ,它将执行剩下的命令。

你能指导我什么是完成我在这里尝试的最好方法吗?

最佳答案

首先你可以复制你的 ssh 公钥,你可以生成 ssh-keygen to authorized_keys 到远程服务器 root/.ssh/authorized_keys 然后脚本将是

ssh root@remotemachine.com "/bin/ksh mydir/setup_env.ksh"

关于linux - 远程机器中 Sudo 的 Shell 脚本并执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21804106/

相关文章:

linux - 根据文件名对文件进行排序

linux - 渲染到 QGLFrameBufferObject 与屏幕时 Alpha 合成错误

javascript - 无法用其他用户打开 VSCode

linux - 两次调用 main 的行为不同

c - 子进程的内存使用情况?

python - 尝试在 ubuntu 上安装 arosics 时出现 ImportError : cannot import name util,

ruby - 无法将 RVM 安装的 Ruby 与 sudo 一起使用

linux - 如何避免 sudo 字,用于由非 root 用户执行更高权限的命令

ansible - 如何使用ansible提示输入sudo密码

docker - apt-get 在没有 sudo 的容器内失败