リモートサーバーscpの問題

リモートサーバーscpの問題

Debian Linuxがインストールされているリモートコンピュータへの管理者アクセス権があります。最初はすべてがうまくいった。すべてのユーザーが特定のコードを実行できるように、いくつかの変数をグローバルに定義したいと思います。これでこのサーバーにファイルを送信できません。 scpコマンドを実行すると、次のように表示されます。

bash: scp: command not found
lost connection

scp私のローカルコンピュータとサーバーの両方で動作します。 SSHを使用してリモートコンピュータに接続できます。ただし、接続すると次のように表示されます。

-bash: id: command not found
-bash: [: : integer expression expected

しかし、このコマンドを実行すると:

which id

出力は次のとおりです

/usr/bin/id

基本コードへのパスはシステムに対して定義されていると思います。リモートコンピュータはscpに渡された情報も知っており、出力は次のとおりですwhich scp

/usr/bin/scp

私が覚えているのは、ファイルを作成してから/etc/profile.dファイルを削除しただけです。また、PATH仕様にエラーがないことを~/.bashrc確認して確認しました。~/.profile/etc/profile

リモートコンピュータに何が問題なのかを知っている人はいますか?

答え1

次のコマンドを使用して、ユーザーがscpコマンドにアクセスできることを確認できます。

echo $PATH

出力例:

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin

これにより、ユーザーがアクセスできるコマンドパスが表示されます。

scpコマンドを確認する場合は、そのscpコマンドが見つかると想定してください/usr/bin/。の出力がecho $PATH含まれていない場合は、/usr/bin/「コマンドが見つかりません」というメッセージが表示されます。

この問題を解決するには、次を実行します。

export PATH=$PATH:/usr/bin/

永久に変更するには、上記の内容を.bash_profile

答え2

.bashrcファイルにエラーがあります。次のコマンドを使用して、基本バージョンを復元して再接続します。

$ cp /etc/skel/.bashrc ~/

答え3

問題が解決しました。 .NETファイルに無効なPATH定義を追加しました/etc/environment。このエラーを修正すると問題が解決しました。

関連情報