При попытке кот
подведен к ssh
с сервера узла Linux на этот ноутбук с Windows 10 я получаю это сообщение:
Псевдотерминал не будет выделен, потому что stdin не является терминалом
Почему это происходит?
Что это значит, Псевдо-терминал не будет выделен?
Я думаю, "Псевдо-терминал - это порождение терминала, и ему не будет предоставлен раздел диска", может быть ???
Что это значит, стандартный ввод не является терминалом?
О каком стандартном вводе идет речь, о сервере или клиенте? Я задаю этот вопрос, потому что он читается как проблема, возможно, на ноутбуке с Windows; и моя проблема в том, что эта ошибка не позволяет узлу записывать на ноутбук.
История:
Я использую Linux на узлах уже несколько месяцев, Linux в облаке и Windows 10 дома.
я смог SCP
успешно каждый раз с Windows на Linux. Теперь я хочу загрузить файлы в VSCode из Linux, чтобы я мог делать с ними что-то в графическом интерфейсе, которого нет ни на одном из узлов Linux. Я предположил, что это должно быть просто: ssh-keygen с узла Linux и scp ключ паба на ноутбук с Windows. Это никогда не работало; это всегда истекло, нет сообщения об ошибке; тем не менее, «потеря связи» было ответным сообщением.
Поэтому я пытаюсь кот
подведен к ssh
и я получаю сообщение об ошибке, псевдотерминал не будет выделен, потому что stdin не является кли
. Эта ошибка возвращается немедленно, а затем, после некоторого ожидания, возвращается приглашение с сообщением об истечении времени ожидания.
Я верю этому сообщению от ssh
происходит по той же причине, что и тайм-аут от SCP
даже не смотря на SCP
не имеет сообщения об ошибке.Скажи мне, если я ошибаюсь здесь, если можешь. Я также думаю, что если я смогу понять это сообщение об ошибке, данное ssh
это могло бы указать мне правильное направление для продолжения тестирования. Вот почему вопрос «О каком стандартном вводе идет речь, о сервере или клиенте?»
Когда я начал настраивать ssh-туннель от узла Linux к ноутбуку с Windows, я пытался перенаправить открытый ключ на ноутбук с Windows и получал тайм-аут каждый раз, много раз! Поэтому я говорю себе просто вручную перенести открытый ключ; и, я сделал, поместив его там, где ожидалось. Затем я преобразовал тесты, чтобы использовать этот тестовый файл - test_scpncat.txt
. Это просто текстовый файл «Hello World».
Это сообщение, которое я получил при настройке ключей с помощью SCP
.
ssh: подключиться к хосту <ip_address> порт 22: время ожидания соединения истекло, соединение потеряно
Это сообщение, которое я получаю после ручной настройки ключей, а затем с помощью SCP
и тестовый файл:
ssh: подключиться к хосту <ip_address> порт 22: время ожидания соединения истекло, соединение потеряно
Это сообщение, которое я получаю после ручной настройки ключей, а затем с помощью кошка | ssh
и тестовый файл:
Псевдотерминал не будет выделен, потому что stdin не является терминалом.
ssh: подключиться к хосту <ip_address> порт 22: время ожидания подключения истекло
Это тестовые сценарии; кто-то может спросить:
$ scp ~/test_scpncat.txt Пользователь@<ip_адрес>:C:\Users\Пользователь\test_scpncat.txt
$ кошка ~/test_scpncat.txt | ssh User@<ip_address> >> C:\Users\user\test_scpncat.txt
Заранее спасибо!