Что значит .+i+;I: имеется в виду с scp?

Я пытаюсь перенести файл с моего ноутбука (OSX 10.6) на сервер Linux моей школы (RedHat 5). Ssh работает нормально с открытым ключом, но когда я пытаюсь передать файл с scp file.txt school:~ текст .+i+;I: выплевывает и scp выходит с кодом 1.

Поиск в Google показывает код 1 как общую ошибку, которая не очень полезна.

2 ответа2

4

Я уверен, что это не код ошибки.

Ваша удаленная оболочка "чистая"? Другими словами, выдает ли он текст в стиле motd даже для неинтерактивных сеансов?

Простой способ проверки (украден со страницы руководства rsync):

$ ssh remotehost /bin/true | wc
       0       0       0

Если вы получите что-то обратно, кроме ряда нулей, ваша оболочка не будет чистой и не будет работать с scp, пока это не будет сделано. Поскольку он извергает текст для неинтерактивных сеансов, для его устранения может потребоваться вмешательство на уровне администратора.

РЕДАКТИРОВАТЬ: я убедился, что scp ведет себя именно так, как я описал. Если оболочка возвращает данные в неинтерактивных сеансах, эти данные возвращаются на стороне клиента и scp завершается с кодом возврата «1». Строка, которую вы описываете, выглядит как коды форматирования терминала.

-1

Если вы используете открытый ключ для ssh, вам необходимо указать его и для scp:

scp -i [path to your public key file] file.txt school:~

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