标签: ssh

运行需要 root 而不是 root 的远程 SSH 命令的最佳方式

我正在努力运行以下命令:

 ssh someuser@lab-test "sudo /usr/local/scripts/user.sh add tstt7777 177700007 \"Test User 06\" "
Run Code Online (Sandbox Code Playgroud)

长话短说,我需要以远程机器上的某个用户身份运行具有 ROOT 权限的 user.sh 脚本。但是,我不希望某些用户能够运行任何其他命令、打开 shell 或以其他方式访问系统。用户只需要使用多个动态参数运行该脚本。

我已经处理了公钥交换,并且在 sudo 中添加了 privlages:

#Sudo
someuser  ALL = NOPASSWD: /usr/local/scripts/user.sh
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

sudo: sorry, you must have a tty to run sudo
Run Code Online (Sandbox Code Playgroud)

我已经查看了 ssh 中的“Command=”函数,但我的理解是这只会运行指定的命令,并且不允许按照我的调用中的指示传递参数。

是否有什么我缺少的东西可以通过 sudo 使我的方法工作?

有没有我在 SSH 或 BASH 中没有考虑过的更好的方法?

linux ssh bash sudo

3
推荐指数
1
解决办法
2783
查看次数

使用 ssh 隧道复制目录

以下命令按预期工作。

ssh soak@10.10.10.11 "ssh soak@10.199.199.191 'cat test.txt'" > /home/shantanu/test.txt
Run Code Online (Sandbox Code Playgroud)

我需要做的是复制整个目录而不是单个文件。

可以将 rync 与 SSH 隧道一起使用吗?

ssh ssh-tunnel ssh-keys

3
推荐指数
1
解决办法
1519
查看次数

如何通过 ssh 终端会话关闭 ESXi5 上的虚拟机?

当我通过 ssh 在 ESXi5 主机的命令行上时,如何关闭虚拟机?


边注:

要让其他机器上的脚本无需密码登录ESXi,如果要以root身份登录,请将其他机器上用户的公钥添加到ESXi的“/etc/ssh/keys-root/authorized_keys”中。如果您想以用户 x 登录,请将密钥添加到“/etc/ssh/keys-x/authorized_keys”。

remote-access ssh command-line-interface vmware-esxi

3
推荐指数
1
解决办法
3万
查看次数

别名“git”ssh 登录到“gitolite”

我正在为我的客户端从 CentOS 软件包安装gitolite。该包创建了一个gitolite用户,该用户将在“git clone”操作期间显式可见。客户想要使用“git”而不是“gitolite”,以防我们以后改用更花哨的东西。我对 CentOS 不是很熟悉,所以我不想尝试从源代码自己构建包。我想知道是否有办法执行以下操作之一:

  1. 欺骗 sshd 将“git”视为“gitolite”。
  2. 以某种方式“别名”一个新的 git 用户名在所有方面都与现有的 gitolite 用户名相同(也许通过 useradd 的一些复杂组合)。
  3. 将“gitolite”用户名重命名为“git”而不影响后续yum update操作
  4. 我没有想到的其他事情

我很感激详细的说明或指示。

ssh centos git gitolite

3
推荐指数
1
解决办法
1160
查看次数

未应用 SSH 配置文件

我正在运行 Mac Os Lion 并具有以下 ssh 配置文件:

$ cat /Users/fernando/.ssh/config
Port 123
Run Code Online (Sandbox Code Playgroud)

这应该会导致 ssh 连接始终在端口 123 上,不是吗?

好吧,发生的情况是它仍然尝试在 22 上连接:

$ ssh 192.168.0.11 -v
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/fernando/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.0.11 [192.168.0.11] port 22.
Run Code Online (Sandbox Code Playgroud)

关于为什么不应用此配置的任何想法?ssh 配置文件是否缓存?

ssh

3
推荐指数
1
解决办法
2865
查看次数

停止 ssh 询问密码

我正在使用具有密码短语的密钥文件连接到 SSH 服务器。如何让 ssh 停止询问密码并始终使用正确的密码?

ssh

3
推荐指数
2
解决办法
5250
查看次数

如何在 CentOS 5.7 上允许密码认证或密钥认证?

是否可以在 CentOS 5.7 中启用密码认证或密钥认证?我能找到的只是将 PasswordAuthentication 设置为 no ,这会强制使用密钥...

谢谢

ssh rsa keys

3
推荐指数
2
解决办法
2万
查看次数

从 A->B->C 隧道 SSH

我希望在 Windows 上使用 PuTTY 设置隧道。

理想情况下,我会直接从 A->C SSH,但是,我无法从我所在的网络中访问。但是我可以从 A->B->C 连接。

C 正在运行一个 vncserver,我想从 A 连接到它。

如何从 A->B->C 通过 SSH 隧道?

ssh tunneling vnc putty

3
推荐指数
1
解决办法
1961
查看次数

如何在两个 Amazon EC2 服务器之间创建 SCP 文件?

我在 Amazon AWS 上,并且我的帐户中有两个 EC2 实例。尝试使用内部私有 IP 通过 SSH 将 rsa 密钥发送到另一个 EC2 实例。但它不起作用。

scp -i .ssh/id_rsa.pub xxx.xxx.xxx.xxx:/root/.ssh/authorized_keys2
Run Code Online (Sandbox Code Playgroud)

我在做什么错以及如何使用 ssh 将文件发送到另一个 EC2 帐户。

ssh scp amazon-ec2

3
推荐指数
1
解决办法
2万
查看次数

如何调试挂起的 ssh 连接?

我有两个具有相同主机提供商的虚拟服务器。在我的客户端机器(本地)上重新生成我的 SSH 密钥后,我只连接到其中一台虚拟服务器。当我连接到另一个时(两者都是通过终端完成的)它只是挂起。它没有超时,我在 SSH 日志中看不到任何指示连接错误的内容。有任何想法吗?

ssh connection osx-snow-leopard

3
推荐指数
1
解决办法
2286
查看次数