Я пытаюсь получить некоторую информацию с маршрутизатора Nokia по ssh с компьютера Linux.
Ssh отлично работает, если я сделаю это:
ssh admin@10.0.0.1
Я могу вводить пароль, авторизоваться, запускать команды.
Однако когда я делаю следующее, меня сразу же отключает:
ssh -v admin@10.0.0.1 'show time'
Verbose output:
debug1: Next authentication method: password
admin@10.0.0.1's password:
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LC_PAPER = en_US.UTF-8
debug1: Sending env LC_ADDRESS = en_US.UTF-8
debug1: Sending env LC_MONETARY = en_US.UTF-8
debug1: Sending env LC_NUMERIC = en_US.UTF-8
debug1: Sending env LC_TELEPHONE = en_US.UTF-8
debug1: Sending env LC_IDENTIFICATION = en_US.UTF-8
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending env LC_MEASUREMENT = en_US.UTF-8
debug1: Sending env LC_TIME = en_US.UTF-8
debug1: Sending env LC_NAME = en_US.UTF-8
debug1: Sending command: show time
debug1: channel 0: free: client-session, nchannels 1
Connection to 10.0.0.1 closed by remote host.
Transferred: sent 2088, received 1840 bytes, in 0.0 seconds
Bytes per second: sent 488193.7, received 430209.0
debug1: Exit status -1
Он отлично работает, если я использую сценарий ожидания для подключения, отправляю пароль, а затем отправляю команду.
Что могло быть не так?
Спасибо за все комментарии.
В конце концов, я использовал expect, поскольку я использую сценарий bash для подключения и извлечения информации.