공개 키 인증을 사용하여 Android에서 SSH 서버에 액세스하려면 어떻게 해야 합니까?

공개 키 인증을 사용하여 Android에서 SSH 서버에 액세스하려면 어떻게 해야 합니까?

내 안드로이드 4.4.2(오래되었지만 업그레이드할 수 없음) 휴대폰은 SimpleSSHD 앱을 통해 SSH 서버를 실행합니다. 로그인할 때마다 다른 임의의 비밀번호가 생성되므로 클라이언트 사용자로서 매우 불편합니다. 그래서 공개키 인증을 사용하고 싶습니다.

이전에는 SSH 서버에 액세스하기 위해 공개 키와 개인 키 쌍을 생성했습니다. 키 쌍을 재사용해도 괜찮을 것 같아서 공개 키 파일을 Android 휴대폰에 복사합니다.

$ ssh-copy-id -p 2222 192.168.1.87
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/t/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 
restorecon: invalid option -- F
usage:  restorecon [-nrRv] pathname...

그 후에도 로그인하려면 서버에서 생성된 임의의 비밀번호를 입력해야 합니다.

공개키 파일을 안드로이드폰에 복사하면 작동하지 않나요?

공개 키 파일은 Android 휴대전화의 어느 디렉터리로 이동해야 합니까?

감사해요.

답변1

이것은 안드로이드의 문제가 아닙니다. 나는 키를 넣는 규칙이 ~/.ssh/authorized_keysOpenSSH에서 나온 것이라고 생각합니다. 나는 그것이 표준(RFC)의 일부라고 생각하지 않습니다. 단순SSHD다른 규칙이 있습니다:

빠른 시작

  • SimpleSSHD를 설치합니다.
  • Android 장치에 연결할 컴퓨터에서 포트를 2222로 설정합니다. OpenSSH를 사용하면 ~/.ssh/config에 다음 줄을 입력하여 이 작업을 수행할 수 있습니다.

    Host myphone
    Port 2222
    
  • SimpleSSHD를 실행하고 설정에서 "부팅 시 시작"을 활성화한 다음 처음으로 수동으로 시작합니다.

  • authorized_keys홈 디렉토리에 생성 ( 사용하지 않음 ssh-copy-id)
  • 선택적으로 .profile 만들기

이에 따르면 인증된 키 파일 ~/authorized_keys~/.ssh/authorized_keys.

ssh-copy-id모든 서버가 OpenSSH 서버라고 가정하는 것 같습니다. 이미 를 사용하여 공개 키를 설정했으므로 ssh-copy-id로그인하여 다음을 실행하겠습니다.

mv ~/.ssh/authorized_keys ~

관련 정보