異なるハードディスクパーティション上の異なるディレクトリファイルにアクセスするコンピュータユーザーのメカニズムは、SSHを使用して共通または異なるネットワークの下に存在するリモートマシンにアクセスする方法と比較的似ています。
[あなたも好きかもしれません:Linuxで特定のユーザーへのSSHログインを無効にする方法]
このネットワークは、インターネットのようにパブリックにすることも、LAN(ローカルエリアネットワーク)のようにプライベートにすることもできます。SSHを使用すると、これらのマシンにアクセスできますが、関連するファイルをダウンロードするのはどうでしょうか。
前提条件
この記事は、SSH経由でリモートLinuxサーバー環境のファイルにアクセスしてダウンロードしたいデスクトップ環境のLinuxユーザーを対象としています。
これら2つのLinux環境への認証済みアクセスと、Linuxコマンドラインインターフェイスにある程度精通している必要があります。
SCPコマンドでSSHを使用する基本構文
SSH (セキュアシェル )プロトコルは、 SCPを有効にするために使用されます (セキュアコピー )Linuxサーバー環境からLinuxデスクトップ環境への特定のファイルダウンロードの目的を正常に達成するためのコマンド。
SSHを使用する標準の構文 SCPを使用したコマンド コマンドは次のようになります:
$ scp username@server_url_or_ip:/path/to/downloading/file/from/server /path/to/download/location/on/desktop
まず、特定のファイルを取得するリモートサーバーのユーザー名とIPアドレスまたはホスト名を知っておく必要があります。
次に、リモートサーバー上のダウンロードファイルの場所への相対パスと、デスクトップコンピューター上のダウンロードファイルの保存場所への相対パスを正確に指定する必要があります。
SSHを使用してリモートLinuxでファイルを作成
3つの手法で、リモートのLinuxサーバー環境からLinuxデスクトップ環境へのファイルのダウンロードを成功させることができます。
3つのSCPファイルのダウンロード手法を参照する前に、まずサーバー上にダウンロードしたいファイルをいくつか用意しましょう。これらのファイルがすでにあなたの側に存在する場合、あなたは行ってもいいです。必要なのは、ファイルの正しい相対パスだけです。
$ ssh [email protected]
リモートLinuxサーバーでファイルを作成します。
$ touch LinuxShellTips_secrets.pdf && ls $ touch LinuxShellTips_certification.pdf && ls $ touch LinuxShellTips_for_beginners.pdf && ls
リモートLinuxサーバーからファイルをダウンロードする3つの方法を確認しましょう。
LinuxでSCPコマンドを使用してリモートファイルをダウンロードする
上記の構文規則を参照すると、次の方法で最初のファイルをデスクトップ環境からダウンロードできます。
$ scp [email protected]:/home/ec2-user/LinuxShellTips_secrets.pdf /home/dnyce/Desktop/files
ダウンロードしたファイルの存在を確認します:
$ cd /home/dnyce/Desktop/files && ls
LinuxでSCPコマンドを使用してポート番号付きのリモートファイルをダウンロード
非標準のポートを定義したか、Linuxサーバー環境で標準のポートを使用してすべてのリモートファイルのダウンロードを処理したい場合があります。この場合、次の構文規則に従う必要があります。
$ scp -P port_number username@server_url_or_ip:/path/to/download/file/on/server /path/to/download/location/on/desktop
作成した2番目のファイルをダウンロードしてみましょう:
$ scp -P 22 [email protected]:/home/ec2-user/ LinuxShellTips_certification.pdf /home/dnyce/Desktop/files
見た目からすると、ダウンロードは成功しました。
LinuxでSCPコマンドを使用して秘密鍵を使用してリモートファイルをダウンロードする
使用しているリモートサーバーがリモート接続用の秘密鍵/証明書に制限している場合でも、心配する必要はありません。次の構文を使用して、リモートファイルのダウンロードを引き続き実行できます。
$ scp -i private_key/certificate_file.pem username@server_url_or_ip:/path/to/download/file/on/server /path/to/download/location/on/desktop
このアプローチを使用して作成した3番目のファイルをダウンロードしてみましょう。
$ scp -i my_file_name.pem [email protected]:/home/ec2-user/ LinuxShellTips_for_beginners.pdf /home/dnyce/Desktop/files
ターミナルインスタンスは、この証明書ファイルと同じパス上にある必要があります。
最後に、ダウンロードした3つのファイルの存在を確認しましょう。
$ cd /home/dnyce/Desktop/files && ls
ワイルドカードを使用する(*)
、これらのファイルは共通のファイル拡張子を持っているため、一度にすべてダウンロードできます。
$ scp [email protected]:/home/ec2-user/*.pdf /home/dnyce/Desktop/files
このチュートリアルでは、 SCPの使用方法を説明しました (セキュアコピー )SSHプロトコルを介して、リモートサーバーから特定のファイルのダウンロードを実行します。対象となるアプローチは、リモートファイルのダウンロードのニーズを満たすのに十分な柔軟性があります。