远程服务器上的 SSH 主机名命令显示本地服务器的主机名

亚历克斯

我从 server2 上的 server1 运行此 SSH 命令:

ssh server2 echo pasword | su - root  -c "echo this is the  `hostname`" 

我希望结果是 server2 的主机名,但我得到了 server1 的主机名。如何操作命令来获取服务器 2 的主机名?

谢谢。

托马斯·沃德

首先,您的命令管道是错误的。按照目前的情况,这是按以下顺序执行的:

  1. ssh server2 echo pasword- 这将转到服务器 2 并登录并echo pasword在远程系统上执行命令(输出将是pasword

  2. 获取#1(“密码”)的输出并将其通过管道传输到本地运行的此命令中:

    su - root -c "echo this is the `hostname`"
    

    ...从技术上讲,它与您的本地主机名相呼应(并且不会对第一个命令中的回显“密码”执行任何操作)。(尽管您不需要'root' -hostname可以由远程系统或本地系统上的任何人运行,不需要超级用户!)。

需要做的是将命令传递到 SSH 而不是以这种方式传递到管道中。这样做的方法是使用这个:

ssh server2 'echo "This is the $(hostname)"'

这将正确地将请求发送到远程服务器以从服务器获取主机名并在远程服务器上执行该请求并告诉您响应。您不需要sudo在远程服务器上执行此操作

如果您需要为 SSH 会话提供密码,则应ssh-pass改为使用,并执行以下命令:

sshpass -p YourPassword ssh server2 'echo "This is the $(hostname)"'

这被认为是正确的方法,因为它以keyboard-interactive非交互方式进行身份验证,并在提示输入密码时将密码传递给 SSH 命令。然而,这仍然非常不安全,因为您的密码将在命令历史记录中或硬编码在脚本中,因此您应该考虑在远程服务器上使用 SSH 密钥身份验证,而不是在可能的情况下使用密码身份验证。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过主机名设置SSH服务器?

来自分类Dev

ssh 到远程服务器给出了不正确的主机名

来自分类Dev

将远程服务器的主机名添加到格式化的 ssh 命令响应中

来自分类Dev

ssh:无法解析主机名服务器:名称或服务未知

来自分类Dev

如何通过不带域名的主机名在内部ssh到服务器?

来自分类Dev

ssh_config:以服务器主机名命名的键

来自分类Dev

如何使用用户的主机名或用户名在服务器上记录所有SSH活动?

来自分类Dev

在远程服务器上执行本地脚本时捕获主机名和数据

来自分类Dev

在Ubuntu服务器上配置主机名

来自分类Dev

使用IP地址获取远程服务器的主机名的命令

来自分类Dev

使用IP地址获取远程服务器的主机名的命令

来自分类Dev

如何验证服务器主机名

来自分类Dev

如何从DHCP服务器获取主机名

来自分类Dev

如何查找X服务器的主机名

来自分类Dev

如何设置后缀邮件服务器的主机名?

来自分类Dev

如何从DHCP服务器获取主机名

来自分类Dev

通过主机名访问服务器?

来自分类Dev

CUPS服务器报告错误的主机名

来自分类Dev

主名称服务器的主机名

来自分类Dev

无法在Linux服务器上解析主机名

来自分类Dev

Linode服务器主机名从何而来?

来自分类Dev

未知的主机名正在攻击我的服务器?

来自分类Dev

未从 DHCP 服务器设置主机名

来自分类Dev

如何设置后缀邮件服务器的主机名?

来自分类Dev

无法SSH进入Ubuntu 12.04 LTS [无法解析主机名(主机名):名称或服务未知

来自分类Dev

up:服务器主机名与服务器证书不匹配

来自分类Dev

解析具有多个子网的dnsmasq服务器的服务器主机名

来自分类Dev

CERTIFICATE_VERIFY_FAILED:本地服务器上TCP连接的主机名不匹配(handshake.cc:352))

来自分类Dev

我如何知道服务器上数据库的主机名是什么

Related 相关文章

  1. 1

    通过主机名设置SSH服务器?

  2. 2

    ssh 到远程服务器给出了不正确的主机名

  3. 3

    将远程服务器的主机名添加到格式化的 ssh 命令响应中

  4. 4

    ssh:无法解析主机名服务器:名称或服务未知

  5. 5

    如何通过不带域名的主机名在内部ssh到服务器?

  6. 6

    ssh_config:以服务器主机名命名的键

  7. 7

    如何使用用户的主机名或用户名在服务器上记录所有SSH活动?

  8. 8

    在远程服务器上执行本地脚本时捕获主机名和数据

  9. 9

    在Ubuntu服务器上配置主机名

  10. 10

    使用IP地址获取远程服务器的主机名的命令

  11. 11

    使用IP地址获取远程服务器的主机名的命令

  12. 12

    如何验证服务器主机名

  13. 13

    如何从DHCP服务器获取主机名

  14. 14

    如何查找X服务器的主机名

  15. 15

    如何设置后缀邮件服务器的主机名?

  16. 16

    如何从DHCP服务器获取主机名

  17. 17

    通过主机名访问服务器?

  18. 18

    CUPS服务器报告错误的主机名

  19. 19

    主名称服务器的主机名

  20. 20

    无法在Linux服务器上解析主机名

  21. 21

    Linode服务器主机名从何而来?

  22. 22

    未知的主机名正在攻击我的服务器?

  23. 23

    未从 DHCP 服务器设置主机名

  24. 24

    如何设置后缀邮件服务器的主机名?

  25. 25

    无法SSH进入Ubuntu 12.04 LTS [无法解析主机名(主机名):名称或服务未知

  26. 26

    up:服务器主机名与服务器证书不匹配

  27. 27

    解析具有多个子网的dnsmasq服务器的服务器主机名

  28. 28

    CERTIFICATE_VERIFY_FAILED:本地服务器上TCP连接的主机名不匹配(handshake.cc:352))

  29. 29

    我如何知道服务器上数据库的主机名是什么

热门标签

归档