컴퓨터가 시작 시 미인대회처럼 SSH 비밀번호 프롬프트를 표시하길 원합니다. 내 개인 키는 3대의 컴퓨터 사이에 있는 Dropbox에 저장되어 있으며 그 중 1대는 현재 Ubuntu입니다.
2시간 동안 구글링해서 다른 사람들한테 물어봤는데 대부분의 사람들이 개인키를 전혀 사용하지 않거나, 비밀번호 없이 개인키를 사용하기 때문에 그런 건 필요 없습니다. 하지만 저는 동일한 개인 키를 여러 위치에서 사용하고 매년 업데이트합니다. 내 Dropbox뿐만 아니라 여러 위치에 있기 때문에 비밀번호로 보호되어야 합니다.
Seahorse를 찾았는데, 그것이 내가 원하는 대로 작동하는지 확신할 수 없지만 OpenSSH로 내보낸 PuTTy 키를 가져올 때 새로운 Ubuntu 설치에서 분할 오류가 발생합니다.
답변1
많은 Linux 배포판은 기본적으로 로그인 관리자에서 ssh-agent를 시작합니다. 따라서 실제로 해야 할 일은 부팅 후에 키를 추가하는 것뿐입니다.
따라서 로그인하자마자 ssh-add를 실행하도록 바로가기 스크립트나 이와 유사한 것을 설정할 수 있습니다. 이를 수행하는 방법은 사용 중인 데스크탑 환경에 따라 다릅니다.
x11-ssh-askpass
GUI에 비밀번호 프롬프트를 표시하는 등 의 GUI 도구를 설치할 수 있습니다 .
넌 할 수 있어PAM과 함께비밀번호를 묻는 메시지를 표시하거나 로그인 비밀번호를 재사용하세요.
해마또는 기타 암호화폐 지갑(1) (2) 일부 데스크탑 환경에 내장되어 있는 경우에도 작동합니다. 왜 그것이 당신에게 충돌하는지 모르겠습니다. 자세한 내용을 추가해야 합니다.
답변2
확인해야 할 두 가지 사항은 다음과 같습니다.
최신 Linux 배포판(예: ubuntu)을 사용하는 경우 이미 시스템에서 ssh-agent 호환 키 관리자가 실행 중이어야 합니다. 쉘(X11 아래)을 열고
SSH_AUTH_SOCK
환경 변수의 값을 확인하십시오. 그렇다면/tmp/keyring-WEuO6X/ssh
당신은 달리고 있습니다.그놈 열쇠고리. 그렇다면/tmp/ssh-XXXXXXXXXX/agent.<ppid>
당신은 달리고 있는 것입니다.SSH 에이전트등. 비어 있으면 키 관리자가 실행되고 있지 않은 것입니다.기본이 아닌 디렉토리(즉, 아래가 아닌
~/.ssh
)에 키를 저장한 것 같습니다. 따라서 키키퍼는 이를 볼 수 없습니다. ssh-agent 매뉴얼을 확인하고~/.ssh
dir 아래에 키를 소프트 링크해 보세요. 다음과 같습니다ln -s $HOME/dropbox/.../mydsakey $HOME/.ssh/id_rsa
(정확한 파일 이름은 키 유형에 따라 다릅니다). 이는 모든 키 관리자에서 작동하지만 사용할 키 관리자를 결정한 후에는 더 많은 것을 확인할 수 있습니다.깨끗한설명서에 솔루션이 나와 있습니다.
어쨌든 대부분의 키 관리자는 로그인 시 키 문구를 묻지 않고 세션에서 처음으로 키를 사용하려고 할 때 묻습니다.
[ -- 추신 -- ]
키 관리자가 실행 중인지 확인하는 가장 쉬운 방법은 키를 수동으로 추가해 보는 것입니다.
ssh-add <key-file>
답변3
우분투와 쿠분투의 경우 제가 ssh-agent
직접 작성한 스크립트를 사용했습니다.
퍼티를 설치했습니다.
sudo apt-get install putty
홈 디렉터리의 폴더 id_rsa
에 *.ppk(puttygen 생성 파일)를 사용하여 파일을 생성하거나 변환 해야 합니다 . 이름이 중요해요!.ssh
ssh-keygen
id_rsa
puttygen private.ppk -O private-openssh -o $HOME/.ssh/id_rsa
다른 사람이 파일 id_rsa
을 읽거나 쓸 수 없습니다.
chmod 600 $HOME/.ssh/id_rsa
내 홈 디렉터리에 파일을 만들었지 agent.sh
만 어디에든 배치할 수 있습니다.
. $HOME/.ssh/ssh-agent.env 2>/dev/null
if [ "`ssh-add -l | grep id_rsa`" = "" ]; then
mkdir -p $HOME/.ssh/
ssh-agent >$HOME/.ssh/ssh-agent.env
. $HOME/.ssh/ssh-agent.env
ssh-add
fi
다음 명령을 사용하여 putty를 실행할 수 있습니다.
. ./agent.sh; putty
또는:
. ./agent.sh
putty
"."(점 또는 마침표)도 중요하며 스크립트 실행을 위한 환경 변수를 내보냅니다. 처음에는 키 파일의 비밀번호를 묻고, 다음 번에는 비밀번호를 묻지 않고 퍼티가 실행됩니다.
답변4
열쇠고리ssh-agent
(사실 래퍼임) 비슷 하지만 모든 프로세스에서 동일한 에이전트를 실행하게 합니다.
키체인은 ssh-agent의 관리자이며 일반적으로 ~/.bash_profile에서 실행됩니다. 이를 통해 쉘 및 크론 작업이 단일 SSH 에이전트 프로세스를 공유할 수 있습니다. 기본적으로 키체인으로 시작된 ssh-agent는 장기간 실행되며 시스템에서 로그아웃한 후에도 계속 실행됩니다. 이 동작을 변경하려면 아래 설명된 --clear 및 --timeout 옵션을 검토하세요.