![SSH で接続できる EC2 インスタンスに scp ファイルを送信できない](https://rvso.com/image/1346172/SSH%20%E3%81%A7%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%82%8B%20EC2%20%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%AB%20scp%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%80%81%E4%BF%A1%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84.png)
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
受信側では、次のコマンドを実行してファイルをダウンロードします。