SSHを使用したファイル転送とユーザー切り替え

SSHを使用したファイル転送とユーザー切り替え

SCPとSFTPが動作しない状況が発生しました。 SSH用のRTFMがありますが、必要なものが見つかりません。

シナリオは、ファイルをサーバーに転送するには、まずファイルをユーザーディレクトリとしてSCPとして指定し、次に制限付きユーザーアカウントSUを使用してSSHを介してルートにログインし、ファイルを必要な場所に移動することです。

サーバーがルートログインを許可していないため、SSH、SUを使用してルートにログインし、このシステムからファイルを転送する方法はありますか?

実際、私はこれまでやってきた前後運動よりもより効果的な運動を探しているだけです。

また、コメント内のGUIクライアントリンクを使用してMacでこの機能を有効にし、ローカルコンピュータから適切なリモートディレクトリにファイルをドラッグアンドドロップできることを願っています。 SFTP GUIクライアントは合理的な選択肢のように見えましたが、必要な高いユーザー権限のために必要な操作を実行できませんでした。

答え1

ローカルシステムで目的のフレームワークを作成します。たとえば、ファイルをリモートのfoo場所にコピーするには、ディレクトリを作成してそこに配置する必要が/etc/fooあります。それには頭蓋骨があります。これで、上記の質問の説明では、@Anthonが提案したようにcronを介してこれを行うことができます。etcfootar

ステップバイステップ:

リモートホストから次のスクリプトを生成します。

#!/bin/sh
DROP="/home/YOURUSERNAME/drop.tgz"
if [ ! -s "$DROP" ]; then exit 0; fi
cd /
tar -pzxf "$DROP" && rm "$DROP"

リモートホストでrootとして実行されるクローンジョブにスクリプトを追加します。

localhostでフレームを作成し、コピーするファイルを入力します。

mkdir -p etc
mkdir -p var/www
cp -a foo etc/
cp -a bar var/www/
tar -pzcf drop.tgz etc var
scp drop.tgz REMOTEHOST:
rm -rf drop.tgz etc var

drop.tgzこのファイルは、次にルートのcronが実行されると抽出されます。これには、気に入らない可能性のあるさまざまな内容が含まれます。

いくつかのファイルのみを変更する必要があると仮定すると、より安全なオプションは、ユーザーアカウントにそのファイル(chownまたはその両方chgrp)への書き込みアクセス権を付与しchmod g+wてからscp直接変更できることです。

関連情報