SSH를 통해 키를 사용하도록 시스템 설정 질문은 내가이 일을하는 이유는 내

매번 암호를 입력 할 필요없이 SSH로 연결할 수 있도록 우분투 컴퓨터와 웹 서버간에 키를 설정하려고합니다.

나는 여기에있는 튜토리얼 ( http://www.csua.berkeley.edu/~ranga/notes/ssh_nopass.html) 을 편지에 썼다.

모든 것이 작동하는 것처럼 보였지만 다음 번에 서버에 SSH를 시도 할 때 암호를 묻습니다.

내 첫 번째 질문은 내가이 일을하는 이유는 내 서버의 특정 사이트에 SSH를 연결할 수 있으므로 사이트 (이 경우 tosbourn)와 관련된 사용자 이름을 사용하여 서버에서이 모든 것을 설정하는 것입니다. 서버에서 루트를 사용해야합니까?

두 번째 질문은 내 컴퓨터에서 내 사용자 이름이 다르기 때문에 (toby입니다) 이것이 작동을 멈출 수 있다고 생각합니까? 이 가정에서 맞습니까? 아니면 중요하지 않아야합니까?

내 로컬 컴퓨터와 서버의 홈 디렉토리에는 .ssh가 있고 필요한 파일을 복사하여 authorized_keys (및 keys2)로 이름을 바꿉니다.

어떤 도움이라도 대단히 감사하겠습니다.



답변

확인할 사항 중 하나는 서버의 키 파일에 대한 사용 권한입니다. 과거 에는 권한이 크게 제한되지 않는 한 파일을 sshd사용하지 않을 것 authorised_keys입니다.

chmod 600 ~/.ssh/authorized_keys

그것을해야한다.

BTW, 나는 리눅스 (Slackware) 서버에 액세스하는 PuTTY에 의해 생성 된 키를 사용하고 있으며 모든 것이 잘되어있다.


답변

  • 일반 사용자를 사용하는 것이 좋으며 실제로 선호됩니다. 서버에서 루트 로그인을 사용하지 않도록 설정할 수도 있습니다.
  • 시스템마다 사용자 이름이 다른 경우 ssh 명령 줄 (또는 ~/.ssh/config파일) 에 사용자 이름을 지정해야합니다 ssh -l username hostname.

서버에서 시스템 로그인을 확인하십시오 /var/log. 로그인 시도가 실패한 곳을 컴퓨터에 기록 할 수 없지만 로그인 실패 후 최근에 변경된 로그 파일을 찾아보고 뭔가를 생각해 낼 수 있어야합니다.

그게 도움이되지 않는다면 ssh에서 자세한 정보를 얻으십시오 : ssh -v -l username hostname. 결과물을 읽고 이해하기는 어렵지만 잘못되었을 수도있는 것에 대한 단서를 줄 수 있습니다.

서버에 넣은 공개 키가 여러 줄로 끝나지 않았는지 확인하는 것도 중요합니다. 하나의 공용 키 = authorized_keys 파일의 한 행

마지막으로, 서버에서 공개 키 로그인을 사용할 수 있습니까?


답변

우분투를 실행하는 서버의 키에 문제가있었습니다. 테스트 방법 중 하나는 서버에서 수행하는 것입니다.

sudo /usr/sbin/sshd -d -p [some port]

다음을 사용하여 연결하십시오.

ssh -v server.url -p [same port]

이렇게하면 양쪽에서 디버그 정보를 얻을 수 있습니다. sshd 프로세스는 아마도 키를 거부하는 이유를 알려주기 때문에 더 흥미로울 것입니다.

내 솔루션은 그냥 포기하고 승인 된 키를 / etc / ssh / users / [사용자 이름] / authorized_keys로 이동 한 다음 / etc / ssh / sshd_config의 AuthorizedKeysFile 설정을 변경했습니다.

AuthorizedKeysFile /etc/ssh/users/%u/authorized_keys

일종의 무자비한 솔루션이지만 문제가 해결 될 수도 있습니다.


답변

나는 호스트들과 이야기를하고 있었고, 윈도우 머신에서 퍼티로 만들어야 할 열쇠가 생겼다. 내 우분투 컴퓨터에서 작동하도록 변환되었다. 이것은 옳은 것처럼 보이지 않지만 나는 그것을주고 어떤 일이 일어나는지를 알게 될 것입니다!

응답을 위해 다시 Manni에게 건배.


답변

클라이언트에서 수행 할 작업 :

ssh-keygen

(암호없이)

그리고:

ssh-copy-id 사용자 이름 @ 서버

키 입력 로그인을 설정해야합니다.


답변