나는 단순히 pubkey를 열고 ==
s 다음에 주석을 변경할 수 있다는 것을 알고 있지만 개인 키에 저장된 생성시 주석 필드가 결정됩니까? 그렇다면 완전히 새로운 키를 처음부터 생성하지 않고 해당 필드를 어떻게 변경할 수 있습니까?
나는 단순히 pubkey를 열고 ==
s 다음에 주석을 변경할 수 있다는 것을 알고 있지만 개인 키에 저장된 생성시 주석 필드가 결정됩니까? 그렇다면 완전히 새로운 키를 처음부터 생성하지 않고 해당 필드를 어떻게 변경할 수 있습니까?
답변:
새로운 우분투 설치에서 ssh 키의 주석을 변경하기위한 검색 에서이 질문을 보았습니다.
그런 다음 맨 페이지 ( man ssh-keygen
) 에서 검색을 수행 한 결과 바로 거기에 있었습니다.
ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
-c Requests changing the comment in the private and public key files.
This operation is only supported for RSA1 keys and keys stored in the
newer OpenSSH format. The program will prompt for the file containing
the private keys, for the passphrase if the key has one, and for the
new comment.
그래서, 내가해야 할 일은
ssh-keygen -c -C "my new comment" -f ~/.ssh/my_ssh_key
참고 : ssh-keygen
암호 제거를 포함하여 키 파일을 보호하는 데 사용되는 암호를 변경하는 데 사용할 수 있습니다.
This operation is only supported for RSA1 keys
)
개인 RSA 키의 "Comment :"줄을 수정하는 작은 테스트를했는데 키 생성시 수정 된 것으로 보입니다.
퍼티로 생성 된 RSA 키이며 키의 주석을 수정 한 후에 암호가 작동하지 않습니다. 편집을 다시 원래의 주석으로 되돌려 야 작동합니다.
ssh-add -l
.
ssh-keygen -c -C "my new comment" -f ~/.ssh/my_ssh_key
.
방금 ssh-keygen -t rsa -b 4096
패스, 코멘트가없는 RSA 키를 만들었습니다 (표준 코멘트). GitHub에 업로드 한 다음 주석을 변경했습니다. 다시 업로드 할 필요가 없었으며 변경 전후에 키가 작동했으며 GitHub에서 삭제시 작업이 중지되었습니다 (캐시되어 그로 인해 작동하더라도 테스트하지 않았습니다).
세션 로그 :
lafk-T470% ssh-keygen -c -f ~/.ssh/id_rsa -C "a new comment"
Comments are only supported for keys stored in the new format (-o).
lafk-T470% ssh-keygen -c -f ~/.ssh/id_rsa -C "a new comment" -o
Key now has no comment
The comment in your key file has been changed.
lafk-T470% vim ~/.ssh/id_rsa.pub
lafk-T470% tail -1 ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCocnoRyM7Oy5XA0dLIaiHHQiPnimJvXifliTZI7OX5lqkACsZmUL/D7kUV2uPDyyPZ6lm0UGUHXhOw2QjStQ6ubPRFOKWQyNDkemaQAJtHPYTkT4pGHbsddyko3SRG0Vp4A9CSLRLJXVGuGn1UpfjB/AD0aUcLWVJdgWDuovR09t1YsHbakDpDh4a/2JS52Cvg6x9kEGakZK7ffUQZ64yZvqisEH//e7SbYtpHIp4ZdBMSIIsFIBWvqMXZowahvSMbV7MeLFuwt90dMOFiGJIe0n8oPt/ilQ0FTRcEP7UODyLKbESHkZqoGAHKeQ4ZMCCv7T00KtB98HvWylqvzHg2rIpLMHkVcRGjwlaZUlZB5Zxk6dAJ5HHg1irF+05UeIbQ9YQF/0x63KWQvreEcmLrkbnZ++XeF2ipE7M7CfkYhpJ9XbKZBG4pOQIqLio2rBV9c3+y+sPq4BABXdJKAnIX+h3kFrvOVA7Gy9/YxgQfCJ0ZSmaAV08uqMm91GYGRU9lt2Uf/ALqhW0rH93UWUj232w35rY8GtXucWAjtw3zi6QtZsIAStRzT3Br+Qrqv4MrKvEk+4rzswytaYjCGLrsMDYL7hI/YEJh9vv/v3wGvJGAqLDk1FeBL8tdwEMr1eM9JKl5gVkmBa4MdJkNMe4rHwUIidrW8LW2EEBY3DmDTQ== a new comment
lafk-T470% git clone git@github.com:GH_User/a-repository.git
Cloning into 'a-repository'...
remote: Counting objects: 8, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0
Receiving objects: 100% (8/8), done.
따라서 이것은 NEW FORMAT에 저장된 키에 적용됩니다. 내 ServerFault 답변 에서 여기에 자세한 단계가 있습니다 .
모든 작업은 Xubuntu 18.04 기본 OpenSSH ssh-keygen에서 수행되었습니다.
개인 키는 이러한 방식으로 변경됩니다. 주석 때문이 아니라 형식 변경 으로 인한 것입니다 . 해당 비교를 위해 작성된 키에 대한 비교를 여기에서 참조하십시오.
pub-key의 경우 효과적으로 깨뜨 렸으므로 Meld는 변경된 사항을 더 잘 보여줍니다. 줄 바꿈으로 공백이 변경되었습니다 (이 형식이 바 break).
ssh-keygen -f ~/.ssh/mykey -c -C 'a new comment' -o