Копирование файлов через ssh без пароля

Мой руководитель дал мне удаленный доступ к своему компьютеру, войдя в систему через ssh на моем локальном компьютере. Хотя я подключен (и могу просматривать любые файлы через vi, emacs), как я могу скопировать файлы на свой локальный компьютер без пароля?

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

2 ответа

SSH позволяет запускать команды в удаленной системе. Без указания каких-либо команд создается pty и запускается оболочка, что, вероятно, является единственным способом, которым вы ее вызываете.

Если вы хотите запустить cat для отображения файла вместо запуска оболочки, просто запустите:

ssh remote_host cat /remote/file/to/view

Это отобразит удаленный файл и вернет вас в приглашение локальной оболочки.

Если вы хотите сохранить этот файл, просто перенаправьте вывод в локальный файл, который вы хотите сохранить как:

ssh remote_host cat /remote/file/to/view > local/file/to/create

Если вы хотите скопировать весь каталог, вы можете передать вывод tar через сеанс ssh:

ssh remote_host tar cf - /dir/to/copy | tar xvf -

Локальный процесс tar (тот, который извлекает архив) удалит начало / выключение, если вы указали абсолютный путь в удаленном процессе, как в примере выше. В этом примере будет создана иерархия папок dir / to / copy в текущем каталоге вашего локального хоста. Если вы хотите удалить дополнительные компоненты пути, используйте --strip-components вариант.

Кроме того, если вы хотите подключиться к хосту и отредактировать файл в vi за один шаг, вы должны указать ssh создать pty для вас, используя -t опция:

ssh -t remote_host vi file/to/edit

Если он вызывается в интерактивном режиме (команда не указана, поэтому он запускает оболочку), он достаточно умен, чтобы создать pty по умолчанию. С помощью указанной команды вы должны явно указать ей создание pty.

Смотрите страницу ssh для более подробной информации.

Если у вас есть активная оболочка на удаленном компьютере, и предполагается, что эмулятор терминала поддерживает копирование-вставку (что делают все популярные), вы сможете копировать-вставлять открытый ключ после генерации; что-то вроде tee >> ~/.ssh/authorized_keysс последующим вставлением содержимого файла открытого ключа. Вы хотели бы убедиться, что в результате нет посторонних разрывов строк.

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

Другие вопросы по тегам