다른 사용자 이름에 대한 비밀번호가없는 ssh? 암호가없는 ssh 연결을하고 싶습니다. 지금은

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

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



답변

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

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

질문 제목에 답변하려면 :

$ ssh otheruser@othersystem

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


답변

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

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

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

Host othersystem
  User otheruser

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


답변

두 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아무도 신경 쓰지 않을 것입니다.


답변

.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