Deploykey einrichten und verwendbar machen

  Composer, git, Installation

Wenn auf dem Server eines Kunden Daten aus git.d3data.de verwendet werden sollen, kann sich der Kundenserver mit einem so genannten Deploykey am D3-Server anmelden. Der Deploykey ist ein SSH-Schlüssel, der ausschließlich für diesen Zugang verwendet wird

  • Deploykey auf dem Kundenserver einrichten, wenn noch nicht vorhanden. Bitte den folgenden Befehl komplett auf der Konsole ausführen, den Namen des Kunden eingeben und den angezeigten Key kopieren.
rm -f ~/.ssh/d3deploykey* && printf "\nKundenname:\n" && read customername && ssh-keygen -q -f ~/.ssh/d3deploykey -t ecdsa -b 521 -N "" -C "d3 deployment key for $customername" && eval "$(ssh-agent -s)" && ssh-add ~/.ssh/d3deploykey 2>/dev/null && printf "\nkopieren:\n\n" && cat ~/.ssh/d3deploykey.pub && printf "\n"
  • Der angelegte Key ist noch nicht auf dem Kundenserver verwendbar. Dass der Deploykey bei jedem Konsolenstart zur Verfügung steht, muss der ssh-agent gestartet werden. Bei Profihost führt das folgender Code in ~/.profile automatisch bei jedem Konsolenstart durch. Bei anderen Providern ist dies abgewandelt evtl. verwendbar. Nach dem Einfügen und Speichern wird eine neue Konsole gestartet.
# initialize ssh agent
 SSH_ENV=$HOME/.ssh/d3env

function start_agent {
   echo "Initialising new SSH agent..."
   /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
   echo succeeded
   chmod 600 ${SSH_ENV}
   . ${SSH_ENV} > /dev/null
   /usr/bin/ssh-add;
   /usr/bin/ssh-add $HOME/.ssh/d3deploykey 2>/dev/null
   echo d3deploykey added
 }

# Source SSH settings, if applicable
 if [ -f "${SSH_ENV}" ]; then
   . ${SSH_ENV} > /dev/null
   ps -efp ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
     start_agent;
   }
 else
   start_agent;
 fi
  • Der kopierfähige Key wird an uns gesandt und in den Einstellungen der jeweiligen Repositories hinterlegt.
  • Als Quelle für Composer wird die SSH-Adresse des jeweiligen Repositories eingetragen.