다른 사용자 이름에 대한 비밀번호가없는 ssh?


14

Subversion 프로젝트에 암호가없는 ssh 연결을하고 싶습니다. 지금은 ssh + svn을 사용하고 있으며 서버와 거래 할 때마다 암호를 입력해야하기 때문에 약간 성가시다.

웹에서 암호가없는 ssh의 키를 생성하는 방법에 대한 몇 가지 자습서를 찾았지만 모두 내 홈 시스템과 동일한 원격 시스템에서 동일한 사용자 이름을 사용하고 있다고 가정합니다. 그러나 ssh + svn에 사용하는 사용자 이름은 내가 실행중인 시스템의 사용자 계정 이름과 다릅니다. 이것을 올바르게 설정하려면 어떻게합니까? 키 파일에서 이름을 변경하는 것만으로도 운이 없었습니다.

답변:


15

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

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

질문 제목에 답변하려면 :

$ ssh otheruser@othersystem

이로 인해 sshd원격 컴퓨터 ~otheruser/.ssh/authorized_keys에서 명령을 입력하는 컴퓨터의 개인 키에 해당하는 공개 키 를 찾습니다 .


1
지시 사항의 일부는 파일을 만들어 .ssh/id_rsa.pub원격 서버에 업로드하는 것이 었습니다. 내가 만들었을 때 localusername @ localsystem으로 끝났습니다. remoteusername @ remotesystem으로 변경해야합니까? 로컬과 원격 모두?
user394

5
아니 그냥 로컬의 내용을 추가 id_rsa.pubauthorized_keys원격 시스템에. 작동합니다.
Warren Young

1
"ssh를 복사-ID -i ~ / 스푸핑 / id_rsa.pub 사용자 이름 @ 원격 기계"교대 많은 시스템이 문제를 해결하기 위해 ssh를 복사 - ID를 가지고
매트 시몬스

불행히도 많은 사람들은 그렇지 않으며 이것이 OpenSSH의 표준 부분이 아닌 것 같습니다. 따라서이 스크립트의 적어도 두 가지 다른 구현이 떠 있습니다.
Warren Young

gnome seahorse를 사용하는 경우 자동 키 배포가 있습니다.
Maciej Piechotka

9

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

1) user @를 svn url에 넣으십시오. 이것은 svn + ssh에게 그 사용자로 로그인하라고 지시합니다. 저장소의 다른 부분을 가리키는 외부 장치가 올바르게 작동하지 않기 때문에 유지 관리 측면에서 나쁜 아이디어라고 생각합니다.

2) ~ / .ssh / config ( ssh_config로 문서화 됨 )를 다음과 같이 작성하십시오.

Host othersystem
  User otheruser

이 방법으로 다른 시스템 으로 ssh를 시도하면 기본적으로 otheruser를 사용합니다. svn을 사용할 때뿐만 아니라 수동으로 ssh를 수행 할 때 편리합니다.


5

두 mashine에서 동일한 사용자 이름을 사용할 필요는 없습니다. 키 ( 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아무도 신경 쓰지 않을 것입니다.


위의 "cat"명령은 위에서 ssh-copy-id언급 한 일반적이지만 비표준 스크립트 의 핵심입니다 . 내가 사용하는 모든 시스템이와 함께 제공되는 것은 아니기 때문에 ssh-copy-id몇 번 이상 그런 것을 입력했습니다. :)
Warren Young

에 대해 들어 본 적이 없습니다 ssh-copy-id. 나는 보통 vim또는 seahorse;)
Maciej Piechotka

0

.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하고 그 후에 원활하게 실행됩니다.

enter code here

1
authorized_keys 파일에 추가하면 더 좋습니다. 그렇지 않으면 다른 펍 키도 제거됩니다. 그래서 더 나은 당신은 귀하의 답변을 편집하는 경우 '고양이 >> 스푸핑 / authorized_keys에'
니틴 마헤
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.