Alle Beiträge von Thomas

Kurznamen bei ssh einrichten

Beim Aufbau einer ssh-Verbindung muss man normalerweise  den gesamten Benutzernamen und Hostnamen angeben, z.B.

ssh myUsername@myServer.myDomain.xyz

Dies kann man abkürzen, indem man die Datei ~/.ssh/config anlegt, falls diese noch nicht vorhanden ist und dort folgende drei Zeilen einfügt:

Host ab
        User myUsername
        HostName myServer.myDomain.xyz

Statt ab kann man natürlich ein beliebiges anderes Kürzel verwenden. Die Verbindung kann jetzt mit

ssh ab

aufgebaut werden.

ssh mit privatem und öffentlichem Schlüssel verwenden

Damit man beim Zugriff über ssh nicht immer das Passwort angeben muss, kann man öffentliche und private Schlüssel verwenden. Um ein solches Schlüsselpaar zu generieren, verwendet man

ssh-keygen

Hierbei sind auf einem modernen Unix-System keinerlei Argumente erforderlich. Die Voreinstellung erzeugt eine RSA-Schlüssel mit 2048 Bits für ssh mit Protokoll 2. ssh-keygen erzeugt zwei Dateien, die folgende voreingestellte Namen haben: id_rsa und id_rsa.pub. id_rsa enthält den privaten Schlüssel und id_rsa.pub den öffentlichen Schlüssel.

ssh-keygen fragt nach dem Dateinamen und schlägt id_rsa vor. Den ebenfalls abgefragten Passphrase sollte man auf jeden Fall angeben.

Die Datei mit dem privaten Schlüssel muss man im Verzeichnis ~/.ssh ablegen. Die Datei mit dem öffentlichen Schlüssel transferiert man z.B. per Email zu dem Benutzer eines Rechners, auf den der Zugriff via ssh erfolgen soll. Dieser Benutzer muss diese Datei an seine Datei ~/.ssh/authorized_keys anhängen.

Dabei sollten folgende Berechtigungen vergeben werden:

cd ~
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
chmod 755 .

Verwendung von git

Zu Beginn sollte der Benutzer konfiguriert werden:

git config --global user.name "Your Name"
git config --global user.email you@example.com

Ein vorhandenes Projektverzeichnis (project) wird wie folgt unter git-Verwaltung gestellt:

cd project
git init

Dadurch wird ein Verzeichnis .git erstellt, das git zur Verwaltung verwendet. Verwendung von git weiterlesen

Probleme bei der PDF-Generierung mit asciidoc

Ich verwende asciidoc, um PDF-Dokumente zu erzeugen. Die Quelltexte sind UTF-8 codiert. Dabei sind zwei Probleme aufgetreten.

Umlaute in Überschriften

Verwendet man Umlaute in Überschriften, so bricht TeX mit einem Fehler ab. Die Ursache liegt darin, dass automatisch Anker als Sprungziele generiert werden und diese eine ID erhalten, die Umlaute enthält.

Dieses Problem kann man einfach umgehen, indem man in asciidoc vor der Überschrift einen eigenen Anker definiert, z.B.

[[fluss]]
== Fluß

Umlaute in Listings

Verwendet man Umlaute in Quelltextlistings, so werden diese Umlaute nicht an ihrer ursprünglichen Position dargestellt, sondern vorgezogen. Dies ist ein bekannter LaTeX-Fehler, der u.a. hier beschrieben ist. Um diesen Fehler bei der Generierung über die asciidoc-Toolchain (a2x) zu umgehen, habe ich in der Datei /usr/share/xml/docbook/stylesheet/dblatex/xsl/lang.xsl den lstset-Befehl wie folgt erweitert:

<xsl:text>\lstset{inputencoding=utf8x, extendedchars=\true,literate=%
{Ö}{{\"O}}1
{Ä}{{\"A}}1
{Ü}{{\"U}}1
{ß}{{\ss}}2
{ü}{{\"u}}1
{ä}{{\"a}}1
{ö}{{\"o}}1} </xsl:text>

Mit Powershell einen symbolischen Link anlegen

In Windows 7 kann mit der Powershell ein symbolischer Link auf ein Verzeichnis angelegt werden, wenn man die Powershell als Administrator ausführt und dann folgendes Kommando absetzt:

cmd /c mklink /j NameSymLink NameExistierendesVerzeichnis

mklink ist nicht direkt in der Powershell verfügbar, da es ein internes Kommando von cmd.exe ist.

MikTex unter Windows installieren

Hier findet man eine Zusammenfassung. Wenn man dann allerdings PDF generieren will, erhält man den Fehler:

Package auto-pst-pdf Error:

"shell escape" (or "write18") is not enabled:
auto-pst-pdf will not work!
See the auto-pst-pdf package documentation for explanation.

Diesen Fehler kann man beseitigen wie hier beschrieben. Am einfachsten ist das Setzen der Umgebungsvariablen MIKTEX_ENABLEWRITE18 auf den Wert t.