리눅스 초보자가 여기에 있습니다.
그래서 바로 설치했어요https://github.com/niruix/sshwifty내 서버에. 저는 서버에 로그인할 때 SSH 키만 사용합니다. 내 SSH 키는 비밀번호로 보호되어 있습니다.
이제 sshwifty를 통해 내 서버에 연결하려고 하면 내 개인 키를 묻는 메시지가 나타납니다.
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,20DD60A29753E6F89413A2F03DE8B20F
내 개인 키는 여전히 암호화되어 있으므로 이를 해독하고 출력을 Sshwifty에 붙여넣어야 할 것 같습니다.
내가 시도한 것:
openssl enc -d -aes-128-cbc -in id_rsa -out dec_rsa
이로 인해 심각한 매직 넘버 오류가 발생합니다.
당신의 도움을 주셔서 감사합니다
답변1
명령은 입니다 openssl rsa -in ~/.ssh/id_rsa
.
~/.ssh/id_rsa
암호화된 경우 openssl
개인키를 복호화하기 위해 비밀번호를 입력하라는 메시지가 표시되며, 그렇지 않으면 키가 화면에 직접 출력됩니다.
하지만 그렇게 말하면서 당신은해서는 안 된다파일을 사용하세요 id_rsa
. Sshwifty는 백엔드에서 SSH 작업을 수행하기 때문입니다. 중요성귀하가 제공한 개인 키는 네트워크를 통해 백엔드 서버로 전송됩니다., 개인 키는 로컬 컴퓨터에만 존재하고 그래야만 하기 때문에 약간 무섭습니다.안 돼요다른 사람에게 보내세요.
그러나 여기서는 설계 절충안을 다루고 있습니다. Sshwifty 백엔드에는 SSH 서버에서 사용자를 인증하기 위해 개인 키가 필요합니다. 따라서 자신을 더 잘 보호하기 위해 특별히 Sshwifty와 함께 사용할 SSH 키 쌍을 생성할 수 있습니다.
개인 키를 생성하려면 명령을 실행 ssh-keygen -t rsa -f ~/.ssh/my_server
하고 요청 시 개인 키가 암호화되지 않도록 클릭 Enter passphrase (empty for no passphrase):
하기만 하면 됩니다 .Enteropenssl
명령이 성공적으로 실행되면 ~/.ssh/
디렉터리에서 두 개의 새 파일을 찾을 수 있습니다. my_server
하나는 Sshwifty에서 SSH 서버에 연결할 때 사용할 수 있는 개인 키이고, my_server.pub
다른 하나는 SSH에 배포해야 하는 공개 키입니다. 섬기는 사람.
이 경우 my_server
어떤 이유로든 위반이 발생하면 하나의 서버만 영향을 받습니다.
이제 "디자인 타협"에 대해 이야기하겠습니다.
소프트웨어를 설계할 때 웹 브라우저에서 실행되는 SSH 클라이언트 라이브러리를 찾는 데 시간을 보냈지만 신뢰할 수 있는 라이브러리를 찾을 수 없었습니다. 그런 다음 SSH 사양을 읽는 데 더 많은 시간을 보냈고 궁극적으로 주어진 기한 내에 이러한 복잡한 프로토콜을 안전하게 구현하는 것이 불가능하다고 결정했습니다.
따라서 시간을 절약할 수 있을 뿐만 아니라 전투 테스트를 거쳤으며 예상되는 안전성을 제공해야 하기 때문에 현재 디자인을 선택했습니다.
예, 저는 Sshwifty의 저자입니다. 지루해서 실수로 Google에서 내 소프트웨어 이름을 검색하여 이 페이지에 왔습니다. 참고로 저는 제 소프트웨어를 홍보하기 위해 질문을 게시하는 것이 전혀 아닙니다.
이 답변이 도움이 되기를 바랍니다. 내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다.
답변2
SSH 키에 더 이상 암호가 필요하지 않도록 "암호 해독"하려면 다음 명령을 실행하면 됩니다.
ssh-keygen -p -f ~/.ssh/<private key file>
개인키 비밀번호를 변경하는 명령어입니다. 비밀번호를 입력한 후 새 비밀번호를 입력해야 합니다. Enter를 눌러 새 비밀번호를 입력하면 비밀번호 없이 새 비밀번호가 저장됩니다.