2016-04-01 14 views
1

私はダウンロードとメディアを保存し管理するヘッドレスファイルサーバーを持っていますが、時には小さなファイルをコンピュータに戻す必要があります(Mac、bashシェルを使用)。問題は、一部のファイルにはユーザーフレンドリーな名前が付いていて、一般にスペースが含まれていることと、自分のサーバー上に設定したファイルディレクトリ階層に埋め込まれていることです。sshセッションからローカルホストへのSCPファイル

ローカルマシンからscpを使用しているときは、タブの補完機能がないため、パスと名前をエスケープしたパスと名前を手動で入力する必要があります。私は、サーバーへsshまず、コマンド時:

scp /home/me/files/file\ name\ with\ spaces.png [email protected]:/Users/Me/MyDirectory 

がエラーで失敗した私はきちんと私のローカルマシンのユーザーのパスワードを入力していていても「アクセス許可は拒否されました、もう一度試してください」。

sftp私はファイル転送のためのより良いツールかもしれないと言われて以来少しのことを学んだ。しかし、ユーティリティは時代遅れだと私はまだ(タブ文字を取得Tabを押して私の端末上のサーバーへの接続を確立した後、タブ補完を持っていない)。

質問:私のMacからscpを使用しているときにタブの補完を許可するにはどうすればよいですか?または、sshセッション中にscpの構文を間違って使用していて、修正する必要があるコマンドがありますか?または、サーバー上でタブ補完を提供するsftp以外のツール(より新しい?)がありますか?

最後に、これらの問題に単純な解決策がない場合は、これらのコマンドのいずれかを使用してタブ補完を容易にするためのいくつかのパッケージ(Homebrewなどの補完パッケージなど)がありますか?

+0

3D印刷が好きですか? [3D印刷のSE](http://3dprinting.stackexchange.com/)をチェックしてください:D –

+0

@MattClark昨年、RepRap i3を構築しました。ヒントをありがとう、私は間違いなくそれをチェックアウトする! – APaul

答えて

2

私はこれが間違っているように見えるscp ing。

これは

scp ./localFile.txt [email protected]:/remoteFile.txt 

コマンドのフォーマットであるあなたはとても接近していたが、あなたはあなたのremoteHostを持っている必要がありlocalhostセットを持っています。

localhost

はあなたが現在のマシンに解決される名前である - ので、あなたのワークフローでは、あなたが sshあるマシンにINGの、そしてあなたがすでに ssh Dにある同じマシンにファイルを scpにしようとしています。

あなたがする必要があるのは、接続しようとしているコンピュータのIPアドレスまたは物理ホスト名を把握し、その代わりに使用することです。あなたはあなたのためのMacをお使いのログイン資格情報を使用しますが、無意識のうちにあなたのヘッドレスマシンに再度ログインしようとしていたので、私はあなたが拒否権を取得した理由を想定しています

scp ./localFile.txt [email protected]:/remoteFile.txt 
# where 192.168.1.100 would be the IP of your Mac 

でした。

+0

ああ、私は今、 'localhost'について愚かだと感じます。しかし、ローカルIPを見つけて 'Me @ 192.168.1.xxx'に修正すると、' ssh:connect to host 192.168.1.xxx port 22:Connection refused'というエラーが出ます。私は 'sshd'を私のMac上で走らせていませんが(psを使ってそれを探すのですが)、どこから進んでいくのか分かりません。 – APaul

+1

あなたのMacに 'sshd'をインストールするのが好きです:p –

+1

^Ha。それはそれをするだろう。後継のために、 'sshd'をインストールする必要はありません。Macでは、システム環境設定>共有でリモートログインを有効にするだけです。 – APaul

関連する問題