SSH를 통해 CentOS 서버에 로그인할 때 기본 경로를 변경하시겠습니까?

SSH를 통해 CentOS 서버에 로그인할 때 기본 경로를 변경하시겠습니까?

CentOS 5.7 웹 서버가 있는데 SSH를 사용하여 연결할 때 로그인할 기본 위치를 변경하고 싶습니다.

현재 에 착륙했는데 /home/username에 착륙하고 싶습니다 /home.

나는 루트로 들어가서 추가했습니다 PermitUserEnvironment yes. /etc/.ssh/sshd_config이것은 사용자 자신의 ssh폴더에서 파일을 검색한다는 것을 이해합니다 environment. 확실하지 않은 것은 이 환경 파일에 무엇을 추가하고 있는지입니다. export path=$PATH:$HOME여기나 .bashrc 또는 .bash_profile 파일에서 작동하지 않는 것 같습니다(제가 아는 한 작동하지 않습니다). 차이가 있음) 어쨌든 SSH 연결은 비대화형 쉘입니까? ).

미리 감사드립니다.

답변1

인증을 위해 PAM을 사용하는 경우 이는 아마도 가장 가능성이 높습니다. 뿌리를 보세요 /etc/passwd.

거기에서 사용자 이름과 경로를 볼 수 있습니다! 거기서 갈아입고 집에 갈 준비가 되었습니다!

편집 - 죄송합니다. 홈 폴더를 변경하고 싶지 않을 수도 있다는 생각이 들었습니다. 이 경우에는 다음을 추가하세요.

cd /home

파일의 맨 아래로 이동하세요 .bashrc!

답변2

~/.ssh/environment쉘이나 명령이 생성되기 ssh전에 읽혀 지므로 내보내기나 $PATH(예:)는 의미가 없습니다. 여기서는 환경 변수만 설정할 수 있습니다(일반 쉘 명령은 실행할 수 없습니다).

비대화형 SSH 셸 환경을 확보한 후 이를 수정하면 비대화형 명령에 필요한 것을 얻어야 합니다. 예를 들어:

$ ssh mylogin@myserver env

그러면 서버에서 SSH에 대한 시작 콘텐츠가 제공됩니다. ~/.ssh/environment파일을 다음과 같이 작성 하면 :

PATH=/usr/local/bin

위 명령을 다시 실행하면 "bash:env: 명령을 찾을 수 없습니다"라는 메시지가 표시됩니다. 좋아요!

이제 sshd시스템 기반(예: 첫 번째 "ssh....env" 호출)을 기반으로 경로를 명시적으로 구축합니다(예: /usr/local/bin헤드에 추가).

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

또한 CWD를 설정하려고 시도하는 것( ~/.ssh/rc읽은 후 쉘이나 명령 전에 실행)은 쉘이 홈 경로(기본적으로)에서 시작되므로 쓸모가 없습니다.~/.ssh/environmentssh

관련 정보