A와 B의 두 Linux 시스템이 있습니다. A에서 실행되는 스크립트는 B로 SSH 할 수 있어야합니다. 따라서 A는 공개 키 (아마 ssh-keygen-generated id_rsa.pub)를 생성 한 다음 해당 개인 키 ( SSH 연결을 위해 아마도 id_rsa).
위에서 말한 내용이 잘못되었거나 잘못 제시된 경우 먼저 수정 해주세요.
목표에 어느 정도 있다고 가정합니다.
네
그러나 A가 B에 연결할 수 있으려면 B가 A의 공개 키를 B의 authorized_keys 파일에 나열해야합니다.
또한 id_rsa.pub 및 ssh를 B로 삭제할 수 있으며 공개 키는 각 ssh 연결에서 새로 생성되고 id_rsa.pub에 저장되지 않기 때문에 여전히 작동합니다.
A에게 공개 키 (id_rsa.pub)를 어떻게 "주십시오"? 수동 프로세스 여야합니까, 아니면 자동화 할 수 있습니까? 수동 인 경우 프로세스는 무엇입니까? 자동화 된 경우 명령은 무엇입니까?
수동 -같은
A에서
cat ~/.ssh/id_rsa.pub | ssh USER@HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
또는 더 수동으로 명령을 분류
A $ cat id_rsa.pub | ssh user@host 'cat>~/a.a'
그런 다음 B에서 ~ / .ssh가 있는지 확인한 다음 수행하십시오. cat a.a >> ~/.ssh/authorized_keys
키를 나열하기 전후에 B의 authorized_keys를 cat 할 수 있습니다.
또는 id_rsa.pub를 이메일 계정으로 이메일로 보낸 다음 B에서 B는 이메일을 확인하고 id_rsa.pub의 내용을 자신의 authorized_keys 파일에 추가 할 수 있습니다.
자동적으로
ssh-copy-id 명령
당신은 ssh를 할 수 있어야하므로 암호 액세스가 필요합니다
ssh user @ host를 수행하는 대신 ssh-copy-id user @ host를 수행하고 비밀번호를 입력하라는 프롬프트가 표시되면 입력하면 공개 키가 복사됩니다. 다음에 ssh user @ host를 수행하면 키가 사용됩니다.
B가이 공개 키를 "얻으면"어디로 이동하거나 저장됩니까?
B의 ~ / .ssh / authorized_keys
B에 대한 SSH 연결을 시작할 때 A는 해당 연결의 일부로 개인 키 (id_rsa)를 어떻게 "사용"합니까?
글쎄, 나는 머리 꼭대기에서 그것에 대해 많이 알지 못하지만 한 키로 암호화 된 것은 다른 키로 해독 할 수 있으며 자신을 식별하는 것은 데이터를 보내는 것과 약간 다릅니다. 임시 키에 대해서도.