답변:
암호 문구를 요구하지 않고 SSH 키 쌍을 생성하려면 다음을 수행하십시오.
$ ssh-keygen -f id_rsa -t rsa -N ''
ssh-keygen: option requires an argument -- N
":(
dzdo
명령 앞에 명령을 사용했기 때문 입니다. 그래서 다음과 같이 작성해야합니다.dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N "''"
-N ''
이 중요합니다. 공간을 추가하면 성공했습니다!
Windows의 PowerShell 에서이 작업을 수행 해야하는 경우 다음을 사용하십시오.
ssh-keygen -f $Name -t rsa -N '""'
git bin 디렉토리가 경로에 있는지 확인해야합니다.
$sshPath = "<path>\git\bin\"
$env:path += ";$sshPath"
그런 다음 PoshGit에서 사용하려면 다음과 같습니다.
Add-SshKey "<path>\.shh\KeyFilename"
git\usr\bin
는 올바른 디렉토리입니다.
ssh-keygen -f $Name -t rsq -N '""'
.
'""'
'""'
나를 위해 일한 유일한 변형입니다.
대답 2에 대한 수정. OL 및 RHEL 시스템에서 파일 이름이 id.rsa가 아니라 id_rsa 여야한다는 것을 알았습니다.
따라서 OL 또는 RHEL 시스템에서 명령은 다음과 같습니다.
$ ssh-keygen -f id_rsa -t rsa -N ''
id_rsa
한 RSA 키의 기본 파일 이름이므로 기본값을 고수하려는 경우 -f
옵션 을 명시 적으로 사용하지 않아도 됩니다.
-f
옵션 을 지정하는 한 가지 이유 는 스크립트에서 이것을 실행할 수 있기 때문입니다. 후속 프롬프트를 비활성화하려면 기본값을 다시 확인하면됩니다.
이건 어떤가요 :
ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N ''
에 언급 한 바와 같이 man ssh-keygen
:
SYNOPSIS
ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1] [-N new_passphrase] [-C comment] [-f output_keyfile]
(...)
-q Silence ssh-keygen.
(즉 함께 openssh-client
데비안 9.4 스트레칭 패키지 OpenSSH_6.7p1 Debian-5+deb8u4
)
bash 스크립트에서 ssh-keygen 명령과 나에게 잘 맞는 최종 답변을 자동화해야했습니다.
echo -e "\n" | ssh-keygen -N "" &> /dev/null
-e를 사용하는 echo 명령은 "\ n"을 Enter 키로 해석하지만 암호로 작동하지 않습니다. 그런 다음 -N ""(빈 암호 문구) 옵션을 사용하면 암호가 비어 있고 아무 것도 요구하지 않습니다. &> / dev / null은 'stdout'과 'stderr'을 / dev / null로 보내므로 디스플레이를 통해 아무것도 인쇄되지 않습니다.