SSH и SCP помогают

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

Итак, я сделал это, и я могу использовать ssh для входа на студенческий сервер, чтобы я мог компилировать с использованием библиотек, хранящихся там (программирование на C ++)

Однако я не уверен как это сделать:

  • скомпилировать файлы на моем локальном компьютере в терминале входа студента. ИЛИ
  • используйте scp, чтобы скопировать файлы, над которыми я работаю, в мою папку @student, чтобы затем я мог скомпилировать их, войдя в систему.

в отношении б) Я пробовал следующую команду:

scp mike@ubuntu: /a1644923/testscp a1644923@uss.cs.adelaide.edu.au: a1644923

, но затем я получаю:

ssh: connect to host ubuntu port 22: Connection refused
cp: cannot stat `/a1644923/testscp': No such file or directory
a1644923@uss.cs.adelaide.edu.au's password:
2
задан 17 August 2013 в 05:50

3 ответа

Разумная задача - скопировать файлы с домашнего компьютера на сервер ученика. (То, что вы попробовали на втором шаге)

scp требуется два параметра: источник и пункт назначения , и нужна только удаленная часть username@hostname. ]

Итак, ваша команда (для одного файла для тестирования) должна выглядеть следующим образом:

scp a1644923/testscp a1644923@uss.cs.adelaide.edu.au:

Двоеточие в конце важно. Убедитесь, что в команде нет лишних пробелов. Я предполагаю, что каталог a1644923 находится в вашем текущем каталоге. Вы можете скопировать / вставить эту команду в вашу оболочку.

Если вам нужно перенести полный каталог, вы должны включить рекурсивный режим. Я предполагаю, что у вас есть каталог project1 в вашем текущем каталоге. Так что наберите

scp -r project1/ a1644923@uss.cs.adelaide.edu.au:

Запомните пробел между scp и -r. Команда - scp, а -r - это параметр, указывающий scp работать рекурсивно, то есть копировать все ниже.

0
ответ дан 17 August 2013 в 05:50

Здравствуйте, Майк, сделайте это следующим образом:

sudo apt-get install sshfs

sshfs username@server:/home/UsersHomeFolderAtServer mnt/

в локальном домашнем каталоге создайте папку mnt, а затем смонтируйте домашнюю папку с сервера на локальный компьютер. Затем вы можете работать со своими файлами локально, но они загружаются на сервер при внесении изменений.

Я бы порекомендовал скомпилировать файлы на сервере, потому что на нем может быть установлена ​​другая версия библиотеки / пакета, чем у вас на вашем локальном компьютере.

0
ответ дан 17 August 2013 в 05:50

Ошибка говорит вам, что он не может найти файл в указанном вами месте (среди прочего, stat - это функция для проверки файла на существование).

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

scp на самом деле не более сложен, чем cp, за исключением того, что он копирует с одного компьютера на другой. Но у него очень похожий синтаксис, просто для формата файла требуется дополнительный спецификатор для машины, если он отличается от вашего (вам не нужно указывать свой собственный компьютер).

Редактировать:

Из того, что вы сказали о библиотеках, находящихся на удаленном компьютере, и все такое, кажется, что вы хотите скомпилировать исходные файлы на удаленном компьютере, чтобы использовать эти библиотеки. Мне кажется, что все должно быть сделано на удаленном компьютере, поэтому ваш локальный компьютер - это просто удаленный терминал.

Когда я находился в аналогичной ситуации, я использовал те же инструменты удаленно, что и локально (gvim для редактирования, и другие стандартные инструменты Linux. Поэтому удаленная работа была такой же, как и локальная, более или менее, и не было проблем с запоминанием копировать файлы, которые были изменены, или случайно перезаписывать новые файлы старыми.

0
ответ дан 17 August 2013 в 05:50

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

Похожие вопросы: