screen 세션과 AFS 파일 시스템의 연결이 끊어졌습니다.

screen 세션과 AFS 파일 시스템의 연결이 끊어졌습니다.

$HOME 파일 시스템은 openAFS 시스템입니다. 집에 있는 노트북에서 데스크톱에 로그인하여 장시간 작업을 실행하고 싶었습니다. 그래서 세션 중단을 방지하기 위해

screen -S session_name

거기에서 스크립트를 실행한 다음 스크린 세션의 연결을 끊습니다. 내 문제는 비교적 짧은 몇 시간 후에 세션이 AFS 파일 시스템과의 연결이 끊어져서 $HOME에 저장된 스크립트의 파일을 사용할 수 없다는 것입니다. 나중에 세션에 다시 연결하면 그 안에 있는 파일을 나열할 수 없거나 디렉터리를 내 홈 디렉터리로 변경할 수 없으며 권한 거부 오류만 발생합니다.

다시 연결을 시도하기 위해 다음 명령을 시도했는데, 이는 일반적으로 데스크톱에 너무 오랫동안 로그인한 경우 작동합니다.

fs checkservers
fs checkvolumes
fs flush

그러나 이는 스크린 세션을 다시 연결하는 데 도움이 되지 않습니다. 연결이 끊긴 화면 세션에서 AFS에 대한 액세스를 유지하는 방법이나 bash/python 스크립트에 명령을 배치하여 활성 상태를 유지하는 방법을 아는 사람이 있습니까?

답변1

krenew기본적으로 -t 플래그를 사용하여 명령을 실행하는 옵션이 있는 running 을 권장합니다 aklog. 일반적으로 다음과 같이 포장됩니다.시작하다팩.

화면 내부 세션을 실행합니다 krenew. 꼭 얻으세요재생 가능한Kerberos 티켓과 조직의 KDC에서는 티켓을 갱신할 수 있는 시기에 제한이 있을 수 있습니다. Kerberos 티켓이 유효한 한 krenew는 aklog를 실행하고 업데이트된 토큰을 얻습니다.

티켓을 장기간 보관하려면 SSH에 접속할 때마다 krenew 프로세스가 새로 고쳐진 tgt에 액세스할 수 있도록 자격 증명 캐시가 각 로그인에 대해 동일한지 확인하세요(예: KEYRING 사용). /etc/krb5.conf에서 기본 ccache 이름을 설정할 수 있습니다.

나는 기본적으로 이 작업을 수행하기 위해 tmux를 사용하고 또한카프홈 디렉토리용 클라이언트 및 OpenAFS.

답변2

그래서 오늘 시도해 보라고 제안한 솔루션은 다음과 같습니다.

먼저 SSH를 통해 해당 컴퓨터에 로그인하십시오.

그런 다음 다음 명령을 실행하여 새 Kerberos/AFS 세션을 생성하십시오.

pagsh

AFS에 다시 인증하려면 다음 명령을 실행하십시오.

klog

다음 명령을 사용하여 토큰이 있는지 확인하십시오.

tokens

로그인 셸을 강제 실행하려면 -l 옵션을 사용하여 screen을 실행하세요.

screen -l -S session_name

앱을 실행하고 연결을 끊으세요. 지금까지는 작동하는 것 같습니다.

관련 정보