Benutzer-Werkzeuge

Webseiten-Werkzeuge


notiz:ssh-authorized-keys-command

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
notiz:ssh-authorized-keys-command [2021/05/05 13:02] – angelegt clerienotiz:ssh-authorized-keys-command [2021/05/05 14:22] (aktuell) clerie
Zeile 9: Zeile 9:
 Wenn sich mit dem entsprechenden Key angemeldet wird, wird direkt das Skript ausgeführt und die Verbindung nach Beendigung von diesem geschlossen. Wenn sich mit dem entsprechenden Key angemeldet wird, wird direkt das Skript ausgeführt und die Verbindung nach Beendigung von diesem geschlossen.
  
-<code python>+Wenn das Skript leer ist, dann sollte das ungefähr so aussehen: 
 + 
 +<code bash> 
 +$ ssh user@host 
 +Connection to host closed. 
 +</code> 
 + 
 +===== Output ===== 
 + 
 +Wir können natürlich Text ausgeben: 
 + 
 +<code python script> 
 +#!/usr/bin/env python3 
 + 
 +print("Hello World"
 +</code> 
 + 
 +<code bash> 
 +$ ssh user@host 
 +Hello World 
 +Connection to host closed. 
 +</code> 
 + 
 +===== Optionen ===== 
 + 
 +Man kann bei einer SSH-Verbindung Kommandos übergeben. Diese sind in der Environment-Variable ''SSH_ORIGINAL_COMMAND'' hinterlegt. 
 + 
 +<code python script>
 #!/usr/bin/env python3 #!/usr/bin/env python3
  
 import os import os
-import sys 
  
 print(os.environ.get("SSH_ORIGINAL_COMMAND") print(os.environ.get("SSH_ORIGINAL_COMMAND")
 +</code>
 +
 +<code bash>
 +$ ssh user@host hello world
 +hello world
 +</code>
 +
 +===== Daten übertragen =====
 +
 +Es ist auch möglich Pipes über SSH weiter zu leiten. Das Skript kann dann ganz normal über ''stdin'' darauf zugreifen.
 +
 +<code python script>
 +#!/usr/bin/env python3
 +
 +import sys
  
 for line in sys.stdin: for line in sys.stdin:
     print(line)     print(line)
 +</code>
 +
 +<code bash>
 +$ echo "Hello World!" | ssh user@host
 +Hello World!
 +
 +Connection to host closed.
 +</code>
 +
 +===== Security =====
 +
 +Um diesem SSH Keys ausschließlich diesen Command zu erlauben, kann mit ''restrict'' jedes andere SSH-Feature für den Key deaktiviert werden. Z.B. Port-Forwarding.
 +
 +<code - authorized_keys>
 +command="~/script",restrict ssh-dsa ...
 </code> </code>
notiz/ssh-authorized-keys-command.1620212544.txt.gz · Zuletzt geändert: von clerie

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki