Ich kann die Datei nicht per SCP an eine EC2-Instanz senden, auf die ich per SSH zugreifen kann.

Ich kann die Datei nicht per SCP an eine EC2-Instanz senden, auf die ich per SSH zugreifen kann.

Ich habe zwei EC2-Instanzen, die aus demselben AMI erstellt wurden, das wiederum aus dem Amazon Linux AMI erstellt wurde. Diese führen MySQL in einer Master-Slave-Konfiguration aus. Die Sicherheitsgruppe („db“) ist so konfiguriert, dass Port 22 von Instanzen zugelassen wird, die unter der Sicherheitsgruppe „web“ ausgeführt werden.

Also melde ich mich per SSH bei einer der Webinstanzen an und dann per SSH oder SCP bei den Datenbankinstanzen. Das funktioniert seit einiger Zeit einwandfrei.

Heute kann ich jedoch keine Verbindung mehr zu einer der Instanzen (der Master-Instanz) per SCP herstellen. Ich kann mich problemlos per SSH darauf anmelden und sowohl SCP als auch SSH funktionieren problemlos zur Slave-Instanz.

Das Ausführen von scp mit -vv erzeugt eine nahezu identische Ausgabe, bis auf die Zeile debug2: unten, die die letzte Ausgabe bei der Verbindung mit dem Master ist.

debug2: exec request accepted on channel 0
Sending file modes: C0775 77 <filename>

Irgendeine Idee, was los ist? Ich habe versucht, die Instanz neu zu starten, aber das hat keinen Unterschied gemacht.

Aktualisieren:

/var/log/secure:
  Jan 10 19:02:59 <host> sshd[1987]: Accepted publickey for <user> from xx.xxx.xxx.xxx port 33285 ssh2
  Jan 10 19:02:59 <host> sshd[1987]: pam_unix(sshd:session): session opened for user <user> by (uid=0)

Es wurden ungefähr 20 Zeilen zu /var/log/audit/audit.log hinzugefügt, die alle mitres=success

Antwort1

Ich habe dieses Problem wie folgt behoben:

$ sudo vi /etc/ssh/sshd_config

Dies wurde geändert:

# override default of no subsystems
Subsystem      sftp    /usr/libexec/openssh/sftp-server

Hierzu:

# override default of no subsystems
Subsystem      sftp    internal-sftp

Anschließend den SSHD-Dienst neu gestartet:

$ sudo service sshd restart

Antwort2

Ich finde es einfacher, einfach einen Python-SimpleHTTPServer auszuführen und auf der anderen Seite wget auszuführen, um die Datei herunterzuladen.

  • HTTP-Protokoll hinzufügen, das in der Sicherheitskonfiguration für alle Quellen hinzugefügt werden soll

  • Führen Sie den folgenden Befehl in dem Verzeichnis aus, in dem die Datei vorhanden ist

    $ sudo python -m SimpleHTTPServer 80

  • Führen Sie auf der Empfangsseite den folgenden Befehl aus, um die Datei herunterzuladen

    $ wget http://ec2ip.aws.amaxon.com/file.txt

verwandte Informationen