bashでsshを使用して別のコンピューターにログインしているときに、ファイルをローカルハードドライブにダウンロードする最良の方法は何ですか. sftp は知っていますが、ディレクトリ名のタブ補完がないなど、便利ではありません。Ubuntu 8.04.1 を使用しています。パブリック IP を持っていないため、動的動的 DNS ソリューションをセットアップしたくありません。
6 に答える
私はUbuntu 8.04.1も実行しています。
$ scp me@myserver.mydomain.com:.bashr<TAB>
私は実際にタブ補完を取得します (つまり、bash はサーバーに sshing し、そこのファイルシステムから補完結果を取得します)。それで
$ scp me@myserver.mydomain.com:.bashrc .
.bashrc をサーバーからローカル マシンの現在のディレクトリにコピーします。
これが得られない場合は、 を試しsudo apt-get install bash-completion
て、.bashrc に次の行が含まれていることを確認してください (私の場合はデフォルトで行われました)。
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
FISHはどうですか?***Shell を介した ***Fi***le 転送 - コンソールで Midnight Commander を使用できます。
$ sudo apt-get install mc
$ mc
次にF9を押します。右 (右パネル用) -> シェル リンク リモート ホストの ssh リンクを入力します。プロンプトで、マシン名を入力して次を指定します。
user@host
システムはパスワードの入力を求めます (または、SSH キーが設定されている場合は自動ログイン)。
これで、リモート ファイルシステムを参照し、必要に応じて選択してコピーできます (F5)。
ssh-xferはあなたが探しているものです。セットアップが完了したら、(ssh
リモート マシンのセッション内から)次のように入力できます。
$ ssh-xfer foo.txt
foo.txt が魔法のようにローカル マシンに表示されます。
知らない。
私は $ scp host:file locallocation
私は実際にコマンド ライン SCP クライアントを使用するのが好きです。:)これがどのように行われるかはわかりませんが、UbuntuのSCP(openssh-client 1:4.7p1-8ubuntu1.2から)は、通常、公開鍵を介して認証するホスト上のリモートディレクトリとファイルのタブ補完を実際に行います。
私の知る限り、リモート フォルダー構造でオートコンプリートできる単純な scp-on-steroids はありません。基本的にリモートフォルダーをマウントしたいだけなら、sshfsを見てください。または、Nautilus 内で ssh://... を使用してリモート ディレクトリをマウントしてみてください。