NASM-Programme auf dem Uni-Rechner testen

Teile der Anleitung basieren auf einem Text von Hendrik Purmann.

Voraussetzungen

Um auf die Uni-Rechner von außen zugreifen zu können, benötigt ihr einen SSH-Client. Unter Linux und Mac OS sollte der Client standardmäßig vorinstalliert sein und kann per ssh benutzername@rechner gestartet werden. Für Windows, Linux (und Mac OS?) gibt es außerdem das bekannte Programm PuTTY mit dem man SSH-Verbindungen aufbauen kann.

Dateien auf die Uni-Rechner bekommen

Solltet ihr die Aufgaben an den Poolrechnern in der Informatik bearbeiten fällt dieser Schritt weg, da euer Heimatverzeichnis auch automatisch eingebunden wird, wenn ihr eine Verbindung zu Andorra herstellt.

Solltet ihr Zuhause die Programme schreiben, müsst ihr sie jetzt noch in euer Heimatverzeichnis auf in der Uni bekommen. Dazu bietet sich das Konsolenprogramm scp an – denen, die eine grafische Oberfläche bevorzugen, sei FileZilla ans Herz gelegt.

Kopieren mit scp

Wir möchten den lokalen Ordner ti2/uebung3, in dem die benötigten Dateien liegen, auf den Uni-Rechner übertragen. Dazu rufen wir

scp -r ti2/uebung3 deinbenutzername@andorra.imp.fu-berlin.de:~/ti2/uebung3

auf. Das -r sorgt dafür, dass alle Ordnerinhalte rekursiv übertragen werden, für deinbenutzername musst du logischerweise deinen ZEDA-/Fachbereichs-Benutzernamen einsetzen. scp fragt natürlich nach deinem Passwort für den Uni-Account; wenn du nicht ständig gefragt werden möchtest, guck dir den letzten Abschnitt zu Public-/Private-Key-Authentifizierung an.

Kopieren mit FileZilla

Hier legst du einen neuen Server-Eintrag an mit folgenden Einstellungen:

  • Host: andorra.imp.fu-berlin.de
  • Protokoll: SFTP - SSH File Transfer Protocol
  • Verbindungsart: Normal oder Nach Passwort fragen
  • Benutzer: Dein ZEDA-/Fachbereichs-Benutzername
  • Passwort: Dein Passwort – Achtung: FileZilla speichert dein Password unverschlüsselt!

Jetzt kannst du Dateien ebenfalls auf den Uni-Rechner kopieren.

Per SSH auf den Uni-Rechner zugreifen

Jetzt müsst ihr euch mit eurem SSH-Client auf dem Uni-Rechner anmelden:

ssh deinbenutzername@andorra.imp.fu-berlin.de

beziehungsweise analog mit PuTTY. Nach eingegebenem Passwort befindet ihr euch auf dem Uni-Rechner, auch zu erkennen an der Bash-Prompt deinbenutzername@andorra:~$. Wir wechseln jetzt in den Ordner mit unseren Dateien und gucken, ob die Dateien auch da sind:

jonascleve@andorra:~$ cd ti2/uebung3
jonascleve@andorra:~/ti2/uebung3$ ls
test.asm  test.c

Jetzt müssen wir erst unsere NASM-Datei assemblieren und dann die resultierende o-Datei zusammen mit der c-Datei kompilieren.

jonascleve@andorra:~/ti2/uebung3$ nasm -f elf64 test.asm 
jonascleve@andorra:~/ti2/uebung3$ gcc -o test test.o test.c
jonascleve@andorra:~/ti2/uebung3$ ls
test  test.asm  test.c  test.o

Die Datei test können wir nun ausführen:

jonascleve@andorra:~/ti2/uebung3$ ./test

Keine Passwordeingabe mehr durch Public-/Private-Key-Verfahren

Da es mitunter ganz schön nervig sein kann, öfter das Passwort einzutippen gibt es die Möglichkeit ein Schlüsselpaar zu generieren und sich dann gegenüber dem Uni-Rechner mit seinem privaten Schlüssel auszuweisen. Da das aber erstens den Rahmen sprengt und zweitens schon genug Tutorials dazu gibt, möchte ich euch an der Stelle einfach bitten, nach Tutorials zu suchen.