OpenSSH를 사용하여 최신 Ubuntu를 실행하는 여러 VPS를 임대했습니다. 비밀번호 없는 로그인을 위해 .rhosts/.shosts를 사용해 보고 싶습니다. 나는 이것이다는 것을 안다아니요권장되며, 공개 키 인증을 사용하는 것이 바람직합니다...제 생각엔시험그리고 설정 방법도 알아보세요. 내 클라이언트/로컬 컴퓨터에서 내 서버/원격 컴퓨터에 비밀번호 없이 로그인하고 싶습니다. 내 로컬 컴퓨터에서 루트가 아닌 일반 사용자 계정을 사용하고 있으며 원격 컴퓨터에서도 동일한 사용자 이름으로 계정에 로그인하고 싶습니다.
내 질문 목록은 다음과 같습니다.
- 원격 컴퓨터의 /etc/hosts에 로컬 컴퓨터의 호스트 이름과 IP 주소를 나열해야 합니까? 로컬 컴퓨터의 /etc/hosts에 원격 컴퓨터의 호스트 이름/IP도 나열해야 합니까? /etc/hosts가 이에 영향을 미치나요?
- .rhosts와 .shosts의 차이점은 무엇입니까?
- 내가 이해한 바에 따르면 .rhosts/.shosts 파일은 원격 시스템의 사용자 홈 디렉터리에 있으며 소유자만 읽을 수 있습니다. 여기에는 "호스트 이름 사용자 이름" 형식의 줄이 포함되어야 합니다. 이것이 맞습니까?
- 두 컴퓨터에서 동일한 사용자 이름을 삭제할 수 있습니까? 아니면~ 해야 하다.rhosts/.shosts에 명시적으로 명시되어 있습니까?
- 두 컴퓨터에서 서로 다른 사용자 이름을 얻은 경우에도 이 메커니즘이 가능합니까(내가 가진 이름이 .rhosts/.shosts에 있다고 가정)?
- .rhosts/.shosts에서 호스트 이름 대신 IP 주소를 사용할 수 있습니까? 원격 시스템의 /etc/hosts에 이 쌍이 포함되어 있으면 이 작업을 수행할 수 있습니까?
- 원격 및 로컬 시스템의 /etc/ssh/ssh_config 및/또는 /etc/ssh/sshd_config를 어떻게 변경해야 합니까?
- "전역" /etc/ssh/ssh_known_hosts를 사용하지 않도록 이를 설정하는 옵션이 있습니까?오직내 로컬 ~/.ssh/known_hosts를 사용하시겠습니까? 클라이언트/로컬, 서버/원격 또는 둘 다에 설정해야 합니까?
- 선택적으로 설정할 수 있나요?소홀히 하다컴퓨터의 호스트 키, 즉 컴퓨터를 인증하는 대신 .rhosts/.shosts만 찾고 있습니까? (예, 이것이 어리석은 일이라는 것을 압니다...그냥 할 수 있는지 알고 싶습니다.)
- 작동시키려면
rsh
또는 명령을 사용해야 합니까 ? 아니면 나머지 설정이 올바르면 작동합니까?rlogin
ssh
- 메커니즘을 "로컬"로 테스트하는 것이 가능합니까? 같은 컴퓨터에서? 동일한 컴퓨터에 여러 사용자 계정이 있는 경우 "localhost", "127.0.0.1" 및/또는 내 컴퓨터의 호스트 이름에 대한 항목이 포함된 .rhosts/.shosts 파일을 다른 계정 사용자 이름과 함께 추가할 수 있습니다.똑같다컴퓨터 - 그리고 이 메커니즘을 작동하게 만들까요? 결국,
ssh
"localhost"에서 다른 계정으로 로그인하는 것도 가능합니다... 그렇다면 어떻게 설정할 수 있나요?
다시 말하지만, 저는 단지 놀면서 배우려고 노력하는 중입니다...저는알다안전하지 않을 뿐만 아니라 물을 찾기 위해 강을 건너는 경우도 있습니다.
답변1
필요한 기능을 사용하려면 두 시스템 간에 신뢰를 설정할 필요가 없습니다. 또한 말씀하신 대로 보안 측면에서는 권장되지 않습니다.
비밀번호 없이 원격 서버에 로그인하려면 다음과 같이 하십시오.
- 사용자의 로컬 컴퓨터에서 사용
ssh-keygen -t rsa
하고 누르기만 하면 됩니다.입력하다비밀번호 프롬프트 키를 누르세요. 비밀번호 없이 키가 생성됩니다. 따라서 누군가가 개인 키를 훔쳐도 귀하의 서버에 액세스할 수 있습니다(방화벽을 사용하여 서버에 대한 액세스를 IP 주소로만 제한하지 않는 한). - 공개 키(예: ~/.ssh/id_rsa.pub, 이전 단계에서 키 쌍의 이름을 변경하지 않은 경우)를 서버의 원하는 계정 홈 디렉터리에 복사합니다.
- 서버의 원하는 계정 아래에 ~/.ssh 디렉터리를 생성합니다(존재하지 않는 경우).
mkdir -m700 -p ~/.ssh
- 2단계에서 복사한 공개 키의 내용을 ~/.ssh/authorized_keys에 추가합니다(또는 파일이 없는 경우 복사한 공개 키의 이름을 해당 이름으로 바꾸면 됩니다).
- ~/.ssh 및 ~/.ssh/authorized_keys에 대한 소유권과 권한이 올바른지 확인하세요. 둘 다 홈 디렉토리와 해당 기본 그룹의 사용자가 소유해야 하며 ~/.ssh 디렉토리에는 0700 권한이 있어야 하고 ~/.ssh/authorized_key에는 0600 권한이 있어야 합니다.
이 시점부터 로컬 컴퓨터에서 원하는 계정에 연결하는 것은 비밀번호가 없습니다(키 쌍의 이름을 변경하지 않았거나 1단계에서 키 이름을 변경한 경우 작동합니다).ssh [email protected]
ssh -i ~/.ssh/name_of_your_private_key [email protected]
이제 여전히 "완전히 안전하지 않은" 방식으로 머신 간에 신뢰를 구축하려는 경우 다음과 같은 접근 방식을 따르세요.http://itg.chem.indiana.edu/inc/wiki/software/openssh/189.html- 단지 그것이 어떻게 작동하는지 보고 싶지 않다면 이 길을 가는 것을 추천하지 않습니다. 이 경우에도 보안 관점에서 보면 정말 나쁜 생각이기 때문에 의심스럽습니다.