GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Shell-Befehle fortsetzen, sobald eine Verbindung zu SSH besteht?

Ich bin mir nicht sicher, ob die Frage, die ich stelle, richtig ist, aber im Grunde wollte ich diesen Prozess automatisieren

  scp ~/.ssh/id_rsa.pub [email protected]:~/
  ssh [email protected]
  mkdir .ssh
  cat id_rsa.pub >> .ssh/authorized_keys
  rm id_rsa.pub
  chmod go-w ~
  chmod 700 ~/.ssh
  chmod 600 ~/.ssh/authorized_keys

Also dachte ich, ich könnte ein Shell-Skript erstellen und es so in mein .bash_profile einfügen:function

setup_ssh () {
  scp ~/.ssh/id_rsa.pub $1:~/
  ssh $1
  #the following is happens when connected to the server using ssh
  mkdir .ssh
  cat id_rsa.pub >> .ssh/authorized_keys
  rm id_rsa.pub
  chmod go-w ~
  chmod 700 ~/.ssh
  chmod 600 ~/.ssh/authorized_keys
}

Aber das funktioniert natürlich nicht, weil es die Befehle nicht fortsetzt, wenn es einmal mit dem Server verbunden ist. Gibt es eine Möglichkeit, die Befehle fortzusetzen, sobald es über ssh mit dem Server verbunden ist?

Akzeptierte Antwort:

Fügt Ihre Identität zum Remote-Server hinzu und erstellt bei Bedarf auch einen ~/.ssh-Baum mit entsprechenden Berechtigungen.

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Linux
  1. Ssh – Beschränken eines Ssh/scp/sftp-Benutzers auf ein Verzeichnis?

  2. Wie erkennt man, ob die Shell von ssh aus gesteuert wird?

  3. Mehrere Befehle in Sshpass?

  4. Unerwartetes Verhalten eines Shell-Skripts?

  5. Verdächtige SSH-Befehle verstehen?

19 Gängige SSH-Befehle in Linux mit Beispielen

Secure Shell(SSH)-Befehle für die Linux-Administration.

SSH-Befehle in Linux mit Verwendungsbeispielen

Ausführen von Befehlen auf Remote-Linux-Systemen über SSH

Cluster-Shell-Befehle

Zugriff nur über SSH-Tunneling