SSH 클라이언트에서 날짜 가져오기

SSH 클라이언트에서 날짜 가져오기

내장된 컴퓨터에 문제가 있습니다. 별도의 실시간 시계가 없어서 다시 시작할 때마다 현재 날짜를 추적하지 못합니다. 많은 프로세스가 파일 타임스탬프 확인에 의존하기 때문에 이는 매우 성가신 일입니다.

이 시스템에 SSH로 접속하여 로그인할 때마다 수동으로 날짜를 설정할 수 있지만 이는 지루하고 잊어버리기 쉬우며 타임스탬프로 인해 혼란을 야기합니다. 날짜가 표시되지 않은 시스템은 SSH 클라이언트로 내 PC에 연결하는 SSH 서버입니다.

내가 알고 싶은 것은 로그인 시 원격 서버(내장 컴퓨터)와 SSH 클라이언트(내 노트북)에서 날짜를 자동으로 설정하는 방법입니다.

LocalCommand를 실행하도록 클라이언트의 ssh_config를 설정하여 이 작업을 수행해야 한다고 생각하지만, 설명서에서 읽은 내용에 따르면 원하는 대로 작동하지 않습니다. 명령은 다음과 같습니다이 질문에 설명된하지만 데이트가 있어요.

제가 생각하는 또 다른 방법은 원격 컴퓨터에 연결하는 사용자의 .profile이 내 노트북에 다시 연결을 시도하고 날짜를 실행하여 날짜를 업데이트한다는 것입니다.

이 목표를 어떻게 달성해야 합니까?

답변1

날짜를 설정할 수 있습니다.

ssh root@embedded "date -s '$(date)'"

(즉, 로컬에서 date를 실행하고 원격 시스템의 date -s에 출력을 제공합니다.)

물론 대화형 세션을 열려면 또 다른 ssh 명령이 필요하므로 키와 ssh-agent 또는 기본 연결을 사용하여 로그인할 수 있습니다.

일반적으로 NTP를 사용하는 것도 권장하지만 컴퓨터가 인터넷에 연결되어 있지 않으면 액세스할 수 있는 일부 컴퓨터에 NTP 서버를 설정해야 합니다. 아마도 노트북일 겁니다.

로그인 스크립트에서 ntpdate/rdate/whatever를 실행하는 경우에도 마찬가지입니다. 임베디드 시스템에 시간 서비스를 제공하려면 무언가를 실행하는 시스템이 필요합니다.

답변2

다음 명령을 사용하여 로컬 서버나 다른 Linux 서버에 스크립트를 생성할 수 있습니다.

ssh root@server "date -s '$(date)'"

필요에 따라 매 시간 또는 몇 분마다 cron을 사용하여 실행할 수 있습니다. 그러나 이것이 최선의 접근 방식은 아닌 것 같습니다.

귀하의 임베디드 시스템에는 인터넷 액세스가 있거나 다른 Linux 서버에 대한 네트워크 액세스가 있습니까?

필요한 것을 달성하는 가장 좋은 방법은 임베디드 시스템에서 NTP 클라이언트를 사용하는 것입니다. NTP 서버에서 날짜 및 시간 데이터를 요청하고 이를 기반으로 로컬 날짜 및 시간 데이터를 설정합니다.

NTP 서버 및 클라이언트 설치 방법을 읽을 수 있습니다.여기.

관련 정보