SSH Remote Command зависает - PullRequest
       8

SSH Remote Command зависает

0 голосов
/ 18 декабря 2010

Кто-нибудь знает, почему эта команда,

ssh -v user@address "exec ssh-agent bash"

... зависает на этом выходе?

debug1: Sending command: exec ssh-agent bash

Я пытаюсь автоматически настроить набор удаленных машин, чтобыони могут SSH друг в друга без паролей.У вас уже есть scp'd для соответствующего файла закрытого ключа.Нужно запустить ssh-add на каждом экземпляре.Но сначала мне нужно запустить ssh-agent.Но команда выше висит.Запуск агента в каждом экземпляре вручную на самом деле невозможен.


Запуск «ps ux» на удаленной машине вручную подтверждает, что ssh-agent работает:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
ubuntu     746  0.0  0.2   8844  1380 ?        S    02:45   0:00 sshd: ubuntu@notty
ubuntu     747  0.0  0.1   4532  1096 ?        Ss   02:45   0:00 bash
ubuntu     748  0.0  0.0   3360   204 ?        Ss   02:45   0:00 ssh-agent bash
ubuntu     779  0.0  0.2   8844  1376 ?        S    02:51   0:00 sshd: ubuntu@pts/0
ubuntu     781  5.3  0.8   8260  5244 pts/0    Ss   02:51   0:00 -bash
ubuntu     813  0.0  0.1   4284  1076 pts/0    R+   02:52   0:00 ps ux

Любая помощь приветствуется.

1 Ответ

2 голосов
/ 18 декабря 2010

То, что вы видите, - это ожидаемое поведение.SSH ждет окончания работы bash.Если вы опустите «bash» в качестве аргумента для ssh-agent, тогда ssh-agent будет работать в фоновом режиме, как вы ожидаете.

Итак, возможно, вы хотели запустить:

ssh -v user@address "ssh-agent"

, глядя на вывод pstree, более четко показывает, что происходит.

 |-+= 09556 root /usr/libexec/launchproxy /usr/sbin/sshd -i
 | \-+= 09557 root /usr/sbin/sshd -i
 |   \-+- 09560 root /usr/sbin/sshd -i
 |     \-+= 09561 root bash
 |       \--= 09562 root ssh-agent bash
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...