공개 키 인증을 사용하여 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 ~

관련 정보