로그인된 동안 SSH 키를 주기적으로 잠급니다.

로그인된 동안 SSH 키를 주기적으로 잠급니다.

나는 매일 SSH를 사용하여 내가 관리하는 몇 개의 서버에 로그인하고 SSH 키를 사용하여 로그인합니다. 비밀번호로 SSH 키를 생성했기 때문에 하루에 처음으로 SSH를 사용할 때 비밀번호를 입력하라는 메시지가 표시됩니다. 나는 이것이 하루 종일 주기적으로 다시 잠기기를 원합니다. 그래서 누군가 내 랩탑이 켜져 있는 동안에 액세스하는 사람이 반드시 서버에 액세스할 필요는 없습니다. 이에 대한 옵션을 찾을 수 없으며 키를 잠그는 명령도 알아낼 수 없습니다. 그런 명령이 있으면 crontab에 추가할 수 있습니다.

아마도 가장 좋은 방법은 SSH 키를 사용하지 않는 것입니다.

답변1

아마도 running이라는 프로그램이 있을 것입니다 ssh-agent. ssh다른 호스트로 이동하면 ssh명령은 해당 호스트와 통신하여 ssh-agent키와 해당 암호를 유지합니다.

기본적으로 ssh-agent암호는 로그아웃할 때까지 영원히 기억되므로 각 키에 대해 한 번만 입력하면 됩니다.

명령ssh-add자신이 알고 있는 신원 목록을 관리하는 데 사용됩니다 ssh-agent .

알고 있는 키 목록을 표시하려면 ssh-agent다음을 실행하세요.

ssh-add -l

만들다잊다키와 암호 문구, 문제

ssh-add -D

그런 다음 ssh일부 호스트에 들어가면 암호를 입력하라는 메시지가 다시 표시됩니다.

A를 공급하는 것도 가능합니다.일생암호의 경우:

ssh-add -t 3600     # 1 hour

하지만 이것은 나에게 효과가 없었습니다(또는 내가 뭔가 잘못했습니다). ssh-add -DN 시간마다 수행되는 cronjob을 설정했습니다 . 통신하려면 ssh-add환경 변수가 필요 하고 해당 변수는 아마도 cron에 설정되어 있지 않기 때문에 약간 까다로울 수 있습니다 .SSH_AUTH_SOCKssh-agent

하지만 댓글에 명시된 대로, 자리를 비운 동안 노트북을 방치해두지 말고 대신 잠가두세요.

답변2

$HOME/.bash_logoutSSH 키를 ~/.ssh/디렉터리에서 다른 디렉터리로 이동하는 줄을 파일에 작성할 수 있습니까 ? 그런 다음 에서는 반대를 수행하십시오 $HOME/.bash_login.

systemd를 사용하여 이 작업을 수행하는 방법은 이 게시물을 참조하세요.

관련 정보