【问题标题】:SSH remote command hangs only on my userSSH 远程命令仅在我的用户上挂起
【发布时间】:2014-07-07 14:24:44
【问题描述】:

在我的 linux 机器上,我可以对同一台机器执行 ssh。

[myuser ~]$ssh localhost
Last login: Fri Jul  4 09:59:57 2014 from xxxx
[myuser ~]$

但是当我尝试使用 ssh 在同一台机器上运行一个简单的远程命令时,它挂起/卡住并且没有返回控制并且没有输出。我要运行的命令是

[myuser ~]$ ssh localhost date

如果我从同一台机器上的另一个用户尝试相同的 ssh 工作

[anotheruser ~]$ ssh localhot date
anotheruser@localhost's password:
Fri Jul  4 10:00:39 UTC 2014
[anotheruser ~]$

我已经看到其他线程解决这个问题,即 ssh 挂起,但它们是不同的。请让我知道我怎样才能摆脱这个。这是与用户权限/组相关的问题还是其他问题?

我想有一个不修改/添加一些标志的解决方案,所以可以解决这个问题。以上内容在某些脚本文件中使用,我真的无法更改该行。由于它正在使用另一个用户,因此应该有某种方法可以修复它。

请帮忙。

【问题讨论】:

  • 希望这个链接可以帮到你:superuser.com/questions/336226/…
  • 共享线程是关于无密码 ssh 设置的。对我来说输入密码不是问题。我需要有或没有 pwd 的远程命令执行的输出。

标签: linux bash ssh


【解决方案1】:

这表明建立 SSH 连接时出现问题。使用-v 运行命令,以查看 SSH 在挂起之前执行的操作。

使用工作帐户进行操作,看看成功后会是什么样子。

重复该选项以查看更多信息(即-v -v -v -v 将为您提供几乎所有交换的信息)。

【讨论】:

  • 我使用-v 尝试了您的建议。卡住的最后一条语句是 debug1: Sending command: date 。在工作帐户中继续执行并打印日期。
  • 那么date 命令有问题。 which date 能得到什么?
  • 它给了我/bin/date。如果我将远程命令分为两个步骤,即首先执行 ssh,然后在登录的会话中执行 date 命令,那么它就可以工作了。所以我认为 date 命令工作正常。
  • 尝试ssh -v -v -v只是为了确保它可以成功发送命令并挂起等待结果。然后尝试ssh /bin/datessh /bin/bash -x /bin/date
【解决方案2】:

我的问题解决了!!!感谢@Aaron 帮助我调试它。

我正在浏览这个link 并发现登录配置文件中的exec 行在我每次执行ssh 时都会出现这样的问题。

我从.cshrc 文件中删除了以下行。这解决了我的问题。

exec bash

感谢大家有兴趣解决这个问题。

【讨论】:

    猜你喜欢
    • 2011-05-27
    • 2022-06-06
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 2012-11-29
    • 2015-05-20
    • 2019-12-31
    • 2016-06-10
    相关资源
    最近更新 更多