원격 서버 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. 이 오류를 수정하면 문제가 해결되었습니다.

관련 정보