SSH で接続できる EC2 インスタンスに scp ファイルを送信できない

SSH で接続できる EC2 インスタンスに scp ファイルを送信できない

Amazon Linux AMI から作成された同じ AMI から作成された 2 つの EC2 インスタンスがあります。これらは、マスター/スレーブ構成で mysql を実行しています。セキュリティ グループ (「db」) は、セキュリティ グループ「web」で実行されているインスタンスからのポート 22 を許可するように構成されています。

そこで、Web インスタンスの 1 つに ssh で接続し、次にデータベース インスタンスに ssh または scp で接続します。これはしばらくの間、問題なく動作しています。

しかし、今日では、インスタンスの 1 つ (マスター) に scp できなくなりました。ssh は問題なく実行でき、スレーブ インスタンスに対しては scp と ssh の両方が正常に機能します。

-vv を指定して scp を実行すると、マスターに接続したときの最後の出力である以下の debug2: 行まで、ほぼ同じ出力が生成されます。

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

何が起こっているのか分かりますか? インスタンスを再起動してみましたが、何も変わりませんでした。

アップデート:

/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)

/var/log/audit/audit.logに約20行が追加され、すべて次のように終わります。res=success

答え1

私は次の操作を実行してこの問題を解決しました。

$ sudo vi /etc/ssh/sshd_config

これを変更しました:

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

これに対して:

# override default of no subsystems
Subsystem      sftp    internal-sftp

次に、sshd サービスを再起動します。

$ sudo service sshd restart

答え2

Python SimpleHTTPServer を実行し、反対側で wget を実行してファイルをダウンロードする方が簡単だと思います。

  • すべてのソースのセキュリティ設定に追加される HTTP プロトコルを追加します

  • ファイルが存在するディレクトリで次のコマンドを実行します。

    $ sudo python -m SimpleHTTPServer 80

  • 受信側では、次のコマンドを実行してファイルをダウンロードします。

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

関連情報