다른 사용자 이름을 사용하여 비밀번호 없는 SSH를 사용하시나요?

다른 사용자 이름을 사용하여 비밀번호 없는 SSH를 사용하시나요?

Subversion 프로젝트에 대해 비밀번호 없는 SSH 연결을 설정하고 싶습니다. 지금은 ssh+svn을 사용하고 있는데, 서버와 거래할 때마다 비밀번호를 입력해야 해서 좀 귀찮습니다.

비밀번호 없는 SSH 키를 생성하는 방법에 대한 몇 가지 튜토리얼을 온라인에서 찾았지만, 모두 홈 시스템과 원격 시스템에서 동일한 사용자 이름을 사용한다고 가정하는 것 같습니다. 그러나 ssh+svn에 사용하는 사용자 이름은 실행 중인 시스템의 사용자 계정 이름과 다릅니다. 올바르게 설정하려면 어떻게 해야 합니까? 키 파일의 이름을 변경하는 것만으로는 운이 없습니다.

답변1

다음 명령에 다른 시스템의 사용자 이름을 제공하기만 하면 됩니다 svn.

$ svn co svn+ssh://otheruser@othersystem/path/to/repo

또한 질문 제목에 대답하려면 다음을 수행하십시오.

$ ssh otheruser@othersystem

그러면 명령을 입력하는 컴퓨터의 개인 키에 해당하는 공개 키를 sshd원격 컴퓨터에서 조회 하게 됩니다.~otheruser/.ssh/authorized_keys

답변2

이를 수행하는 방법에는 두 가지가 있습니다.

1) user@를 svn url에 입력하면 svn+ssh가 해당 사용자로 로그인하도록 지시합니다. 저장소의 다른 부분을 가리키는 외부 콘텐츠가 제대로 작동하지 않기 때문에 이는 유지 관리 관점에서 나쁜 생각이라고 생각합니다.

2) ~/.ssh/config를 생성합니다(다음과 같이 기록됨).ssh_config) 이렇게 말했습니다.

Host othersystem
  User otheruser

이 방법어느다른 시스템으로 SSH를 시도하면 기본적으로 다른 사용자가 사용됩니다. 이는 수동으로 SSH를 실행할 때나 svn을 사용할 때 편리합니다.

답변3

두 컴퓨터 모두에서 동일한 사용자 이름을 가질 필요는 없습니다. 키( ssh-keygen)를 생성할 때마다 로컬 서버에서 라인을 복사하거나 ~/.ssh/id_rsa.pub( ~/.ssh/id_dsa.pub키 유형에 따라) ~/.ssh/authorized_keys원격 서버에 추가해야 합니다.

% ssh-keygen
% cat ~/.ssh/id_*.pub | ssh remoteuser@remoteserver 'cat >> .ssh/authorized_keys'

remoteuser매번 입력 하고 싶지 않다면 다음에 추가하세요 ~/.ssh/config.

Host remoteserver
    User remoteuser

메모이름키는 다음과 같은 형식일 수 localuser@localhost있지만이름은 단 하나. 그것도 괜찮아요 myfavouritekey@myfavouritecomputer. 아무도 신경 쓰지 않을 거예요.

답변4

생성 .ssh/config하고 실행한 후:

cat ~/.ssh/id_*.pub | ssh remoteuser@remoteserver 'cat >> .ssh/authorized_keys'

오류가 발생합니다.

Bad owner or permissions on /usr/share/eprints3/.ssh/config

그런 다음 추가했는데 chmod 600 .ssh/config원활하게 실행되었습니다.

관련 정보