답변:
Windows에서 인증 에이전트를 실행해야합니다.
예를 들어, Pageant 는 PuTTY (그래픽 SSH 클라이언트) 또는 Plink (명령 줄에 해당) 와 함께 사용됩니다 .
Pageant에게 SSH 서버의 공개 키를 알려 주어야합니다. 그 후 백그라운드에서 실행되는 동안 서버의 인증 요청을 처리합니다.
당신은 미인 이 필요합니다 .
PuTTY 및 Pageant를 사용한 비디오 비밀번호없는 로그인을 참조하십시오 . 그리고 / 또는 블로그 게시물의 노하우 : 퍼티와 패스워드가없는 SSH 인증 .
Plink (Putty의 일부) 사용해보기
plink -v youruser@yourhost.com -pw yourpw "some linux command"
귀하의 키가 비밀번호로 보호되어 있지 않다고 가정하고 귀하가 얻는 것은 키 비밀번호 요청이 아닙니다.
~ / .ssh는 창쪽의 퍼티에서 사용되지 않으며 퍼티에는 기본 개인 키 설정이 없습니다. cygwin과 같은 명령 행 ssh 클라이언트를 사용하는 경우 집에서 .ssh 디렉토리를 작성하면 작동합니다. 퍼티에서 세션을 구성하고 저장해야합니다.
퍼티 구성 대화 상자에서 연결-> 데이터를보고 자동 로그인 사용자 이름 필드를 채우십시오. 그런 다음 연결-> ssh-> 인증으로 이동하여 개인 키를 올바르게 설정하십시오. 그런 다음 세션 대화 상자로 돌아가서이 세션을 저장하십시오. 원하는 경우 호스트 이름을 설정할 수도 있습니다.
저장된 세션이 있으면 'putty -load "savedsession"'을 사용할 수 있습니다.
ID 개인 키를 제공하는 옵션을 Windows 7
사용하여 정확하게이 작업을 수행 할 수있었습니다 -i
.
ssh -i X : \ win-path \ to \ private-key remoteuser@remote.host.com
원격 호스트에서 승인 된 키가 있음 /etc/ssh/authorized_keys/remoteuser
및 있음을 제외하고 /etc/ssh/sshd_config
변경했습니다.
#AuthorizedKeysFile .ssh/authorized_keys
AuthorizedKeysFile /etc/ssh/authorized_keys/%u
하지만 SSH 원격 구성이 중요한지 모르겠습니다.
크로스 플랫폼 ssh
명령 줄 도구 ssh-keygen
& 만 있으면 ssh-copy-id
됩니다. Windows 용 git에 포함되어 있습니다.
git-installed bash
shell 에서이 작업을 수행하십시오 .
#By default this puts keyfile pair in ~/.ssh/id_rsa & ~/.ssh/id_rsa.pub :
ssh-keygen.exe -t rsa -b 2048
ssh-copy-id -i ~/.ssh/id_rsa.pub $remoteuser@$remotehost
# These two chmod lines are needed on unix platforms, probably not on Windows.
# typically ssh refuses to use a private key file
# if it is less-well protected than this:
chmod 700 ~/.ssh
chmod 640 ~/.ssh/id_rsa
또는 PowerShell에서이 스크립트를 실행하십시오.
Param(
[Parameter()][string]$keyfile="id_rsa",
[Parameter()][string]$remotehost,
[Parameter()][string]$remoteuser
)
write-host "# ---------------------------------------------------------------------------------#"
write-host "# Create an RSA public/private key pair, and copy the public key to remote server #"
write-host "# #"
write-host "# /superuser/96051 #"
write-host "# ssh-from-windows-to-linux-without-entering-a-password/1194805#1194805 #"
write-host "# #"
write-host "# ---------------------------------------------------------------------------------#"
write-host "Keyfile pair will be saved at : ~/.ssh/$keyfile, ~/.ssh/$keyfile.pub"
write-host "And copied to $remoteuser@$remotehost"
write-host ""
write-host "You will need a password for the copy operation."
write-host ""
if( -not $(ls ~/.ssh) ) { mkdir ~/.ssh }
$sshdir=$(get-item ~/.ssh/).Fullname
#By default this puts keyfile pair in ~/.ssh/id_rsa & ~/.ssh/id_rsa.pub :
ssh-keygen.exe -t rsa -b 2048 -f "$sshdir$keyfile"
# ssh-copy-id somehow didn't work in Powershell so I called it via bash
bash -c "ssh-copy-id -i ~/.ssh/$keyfile.pub $remoteuser@$remotehost"
# I'm not sure if these two chmod lines work on windows but
# typically ssh refuses to use a private key file
# if it is less-well protected than this:
chmod.exe 700 $sshdir
chmod.exe 640 "$sshdir$keyfile"
이 후, 암호없이 로그인이 모두 작동해야 ssh
하고 scp
.