この質問のさまざまなバリエーションを見てきましたが、私の状況にぴったり当てはまるものはないと思います。
私は職場のコンピューターを使っていて、サーバーに SSH 接続しています。このサーバー上で、自宅の Mac からいくつかのファイルを SCP で転送したいと考えています。
通常のコマンドで問題なくサーバーから Mac に SSH 接続できます:
ssh [email protected]
しかし、SCP を実行しようとすると次のようになります:-bash: /usr/bin/scp: 権限が拒否されました
次のコマンドを使用しています:
scp [email protected]:/absolute/filepath/i* local/folder
number -p フラグも試しました。私の Mac にはアカウントが 1 つしかなく、それが管理者アカウントです。権限の問題があるのか、サーバーに SSH で接続しているためなのか、それとも他の何かが原因なのかはわかりません。
自宅の Mac からサーバーから Mac に SCP を実行する場合も、正常に実行できます。
助言がありますか?
編集: プロトコルについて頭が混乱していたため、追加の関連情報をコメントとして最初に投稿しました。(私のミスです)。
SCP を「逆転」できることに関する最後の文に特に関連して、次のコマンドは、ローカル マシンとして Mac にログインしているときに機能します。
scp -P 22003 [email protected]:Data/path/i* /Full/Path/On/Mac/
ls -l /usr/bin/scp
サーバー (ローカル) で実行すると、次の結果が返されます。
rwxr-x---. 1 ルート ルート 67648 8月31日 12:40 /usr/bin/scp
ls -l /usr/bin/scp
Mac (リモート) で実行すると、次の結果が返されます。
-rwxr-xr-x 1 ルートホイール 81360 12月1日 14:45 /usr/bin/scp
答え1
上記のコマンドは指定されたエラーで失敗しますが、ローカル マシンとして Mac にログインしている場合は次のコマンドが機能します。
scp -P 22003 [email protected]:Data/path/i* /Full/Path/On/Mac/
そのため、サーバーにアクセスできず、/usr/bin/scp
「アクセスが拒否されました」というエラーが表示されます。このようなエラーには、ファイルの権限など、さまざまな原因が考えられます。
scp
Mac からでも、サーバーから Mac へでもできるので、今のところは、Mac へ、そしてそこから、ssh
そうするのが良いと思います。ssh
scp
サーバー上の問題をトラブルシューティングするには、まず/usr/bin/scp
サーバー上で実行権限があるかどうかを確認します。
ls -l /usr/bin/scp
次のようなものが表示されます:
-rwxr-xr-x 1 root root 84104 Jan 16 14:28 /usr/bin/scp
^ ^ ^
基本的に、ファイルの所有者はユーザーroot
(読み取り、書き込み、実行)で、グループのメンバーはroot
読み取りと実行の権限を持ち、ワールド(ログインしている他の全員)も同様です。
x
コマンドの (実行) 権限がある場合は、scp -v
詳細度を上げるために を使用します (記憶が確かなら、最大 3 つまで 's を追加できますv
)。何が問題なのかを示すメッセージが表示される場合があります。また、ldd /usr/bin/scp
すべての依存関係が存在し、読み取り可能であるかどうかを確認してみることもできます。