클라우드 솔루션 구축 업무를 수행하면서, 대다수 솔루션 또는 오픈소스들이 RHEL8 (CentOS8)에서 동작하기 시작합니다.
그래서 이참에 8에 익숙해질겸 TestBed를 RHEL8.4로 설치했는데, root 계정에 대한 SSH는 접속이 되는데 SFTP는 접속이 안되는 현상이 발생해서 찾는데 꽤나 많은 시간을 보내어 공유차원에서 정리합니다.
(hk 일반 사용자 계정은 ssh / sftp 가 잘되었음)
1. sftp 접속 에러 현상 (filezilla를 통해서 접속해도 접속되지 않았음)
mac에서 sftp 를 통해 RHEL8.4가 설치된 kvm-host에 root 접속시 접속이 안되며, 일반 hk 계정은 접속이 정상적입니다.
hkjeon@MacBook-Pro ~ % sftp root@xx.xx.xx.4
Received message too long 458964786
Ensure the remote shell produces no output for non-interactive sessions.
hkjeon@MacBook-Pro ~ % sftp hk@xx.xx.xx.4
hk@xx.xx.xx.4's password:
Connected to xx.xx.xx.4.
sftp> exit
2. 원인
앞 블로그에 정리한 것처럼 ~/.bashrc 에 neofetch 명령을 실행하도록 해놨습니다. 로그인시 neofetch를 자동으로 실행하게 해서 sftp 연결이 되지 않았던 것입니다.
.bashrc에 입력한 명령어가 표준 출력을 하는 경우, sftp 로그인 세션에서 제대로 처리하지 못하고 이런 메시지를 볼 수 있다고 합니다.
https://access.redhat.com/solutions/1553663
3. 해결방법
.bashrc에 적용한 설정들을 .bash_profile에 적용하니 sftp와 neofetch 모두 정상적으로 동작하였습니다.
[root@hk-tb ~]#cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
alias vi='vim'
neofetch
export PS1='[\u@\[\033[1;31m\]\h\[\033[0m\] \W]\$'
4. 그 외 참고자료
• Login Shell: 사용자가 로그인할 때 실행되는 쉘. .bash_profile 환경 설정 파일을 이용
• Non-login shell: 사용자 로그인 없이 실행되는 쉘. .bashrc 환경 설정 파일을 이용
리눅스에서 .bash_profile은 실행할 때 먼저 .bashrc를 실행한다. 그리고 RHEL 8의 기본은 .bash_profile이다.
사용자 로그인 없이 실행하는 쉘은 최소한의 실행 환경이 필요하고, 로그인 쉘은 사용자의 필요에 따라 환경을 구성할 수 있음
'Linux > RHEL7 & 8' 카테고리의 다른 글
[RHEL8] PXE & Kickstart 서버 구축 (0) | 2021.10.25 |
---|---|
[RHEL/CentOS 8] cockpit (웹 콘솔)설치방법 (0) | 2021.10.08 |
[RHEL/CentOS 8] KVM install 설치방법 (0) | 2021.10.07 |
[RHEL/CentOS 8] neofetch 설치 (0) | 2021.10.07 |
[RHEL/CentOS 8] Banner 문구 및 설정방법 (0) | 2021.10.07 |