3

Мой ssh не работает должным образом. Когда я выполняю следующую команду, ничего не происходит. Курсор не идет на следующую строку, чтобы принять пароль, и я не получаю сообщение об ошибке. Нет повесить либо Он просто переходит на следующую строку в ожидании другой команды.

$ ssh username@foo.edu
$

Вот что я сделал для устранения неполадок.

  1. Попробовал многословный вариант. Но результат тот же.

    $ ssh -v username@foo.edu
    $
    
  2. Попробовал пинговать локацию. Кажется, я могу добраться до этого.

    $ ping foo.edu
    PING foo.edu (10.50.178.250): 56 data bytes
    64 bytes from 10.50.178.250: icmp_seq=0 ttl=60 time=4.369 ms
    64 bytes from 10.50.178.250: icmp_seq=1 ttl=60 time=3.013 ms
    64 bytes from 10.50.178.250: icmp_seq=2 ttl=60 time=3.235 ms
    64 bytes from 10.50.178.250: icmp_seq=3 ttl=60 time=2.791 ms
    64 bytes from 10.50.178.250: icmp_seq=4 ttl=60 time=10.105 ms
    64 bytes from 10.50.178.250: icmp_seq=5 ttl=60 time=4.321 ms
    64 bytes from 10.50.178.250: icmp_seq=6 ttl=60 time=2.754 ms
    64 bytes from 10.50.178.250: icmp_seq=7 ttl=60 time=2.801 ms
    ^C
    --- foo.edu ping statistics ---
    8 packets transmitted, 8 packets received, 0.0% packet loss
    round-trip min/avg/max/stddev = 2.754/4.174/10.105/2.326 ms
    
  3. Перезагрузил компьютер. Без изменений.

  4. Перезапущен ssh сервис (я на Mac) Без изменений.

    $ sudo launchctl stop com.openssh.sshd
    $ sudo launchctl start com.openssh.sshd
    
  5. укомплектованный этим для ада этого. Получил руководство.

    $ man ssh
    
  6. проверил, был ли ssh на самом деле в /usr/bin . Да, это там.

    $ ll /usr/bin | grep ssh
    lrwxr-xr-x   1 root   wheel     3B Oct 21  2016 slogin -> ssh
    -rwxr-xr-x   1 root   wheel   2.0M Apr 28  2017 ssh
    -rwxr-xr-x   1 root   wheel   1.7M Apr 28  2017 ssh-add
    -rwxr-xr-x   1 root   wheel   1.7M Apr 28  2017 ssh-agent
    -rwxr-xr-x   1 root   wheel    10K Nov 14  2016 ssh-copy-id
    -rwxr-xr-x   1 root   wheel   1.8M Apr 28  2017 ssh-keygen
    -rwxr-xr-x   1 root   wheel   1.8M Apr 28  2017 ssh-keyscan
    
  7. Побежал следующий.

    $ type ssh
    ssh is hashed (/usr/local/bin/ssh)
    $ vim /usr/local/bin/ssh
    1#!/bin/sh
    2
    3 HOSTNAME=$@
    

Я не могу понять, что происходит. Любая помощь приветствуется.

1 ответ1

4

Вместо /usr/bin/ssh ваша оболочка запускает /usr/local/bin/ssh который является скриптом, который ничего не делает.

Вероятно, это связано с тем, что /usr/local/bin находится в вашем $PATH перед /usr/bin . Ничего плохого в этом нет; проблема в сценарии.

Если у вас есть доступ sudo то вы можете удалить сценарий (в общем, это повлияет на всех пользователей; в первую очередь стоит выяснить, почему сценарий присутствует; сценарий странный, поэтому удаление его, вероятно, будет в любом случае правильным):

sudo rm /usr/local/bin/ssh

Кроме того, вы должны указать своей оболочке забыть устаревший путь к ssh:

hash -d ssh

Без доступа sudo вы можете обойти этот странный скрипт с псевдонимом:

alias ssh=/usr/bin/ssh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .