ssh 연결의 경우 쉘이 깨끗한 지 테스트하는 간단한 방법이 있습니다. 대화식 쉘을 시작하는 대신 ssh 연결에서 명령을 실행하십시오. false
명령은 즉시 출력을 생성하지 않고 종료됩니다, 그래서 좋은 테스트입니다 :
bash$ ssh remotehost false
Enter passphrase for key '/home/user/.ssh/my_private_key':
bash$
해당 명령 행이 출력을 생성하면 시작 스크립트 중 하나가 비난되는 것입니다.
bash$ ssh remotehost false
Enter passphrase for key '/home/user/.ssh/my_private_key':
Welcome to RemoteHost!
This system is company property and is provided for authorized use only,
as set forth in applicable written policies. Unauthorized use is prohibited
and may be subject to discipline, civil suit and criminal prosecution.
Welcome back - You last logged in 16 days ago...
bash$
이 오류가 발생하는지 확인하는 또 다른 사항은 rsync가 ssh에 의해 설치되어 있는지 여부입니다.
bash$ ssh remotehost "rsync --version"
Enter passphrase for key '/home/user/.ssh/my_private_key':
rsync version 3.0.9 protocol version 30
Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
bash$
rsync가 경로에 없으면 대신 다음과 같이 표시됩니다.
bash$ ssh remotehost "rsync --version"
Enter passphrase for key '/home/user/.ssh/my_private_key':
bash: rsync: command not found
bash$
rsync를 설치하거나 설치되어 있지만 비정상적인 위치에있는 경우 rsync 명령 줄에 위치를 전달하여이 문제를 해결할 수 있습니다.
rsync -avvvz -e "ssh -i /home/thisuser/cron/thishost-rsync-key" \
--rsync-path="/usr/local/bin/rsync" \
remoteuser@remotehost:/remote/dir /this/dir/
ESC x shell
하고 수행하는 것export TERM=xterm; ssh remotehost ls
입니다. 제어 문자 또는 다른 스퓨리어스 출력이 나타나면 바로 찾아야합니다.