iDev

asus 무선공유기 ssh-key 로그인 방법

KraZYeom 2020. 10. 4. 08:28
반응형

0. 준비

ssh 관련 권한은 아래와 같이 설정한다.

chmod 400 ~/.ssh
chmod 600 ~/.ssh/*

1. 실패

일반적으로 사용하는 ssk-keygen 이 asus 무선공유기에는 없다.

putty key generator로 key gen을 하고 openssh key로 export해서 id_rsa, id_rsa.pub 를 복사하고
target server .ssh/authorized_keys 에 등록을 한다.

ssh -i ~/.ssh/id_rsa user@host 를 입력을 하면 다음과 같은 에러가 난다.

ssh: Exited: String too long

일반적인 ssh와 달리 OpenWRT에서는 dropbear라는 ssh 클라이언트를 사용해서 생기는 문제이다.

krazyeom@RT-AC68U-8DF0:/tmp/home/root/.ssh# ssh -V
Dropbear v2019.78

2. 해결

dropbear로 키를 다음 명령어 dropbearkey -f id_rsa -t rsa로 생성하면 된다.
private key는 자동으로 id_rsa 파일로 저장된다. public키는 아래와 같이 보이기만해서 적당히 복사해서 사용한다.
public key를 저장하지 못했으면, dropbearkey -y -f id_rsa 다음 명령어로 다시 보이게 할 수 있다.

krazyeom@RT-AC68U-8DF0:/tmp/home/root# dropbearkey -f id_rsa -t rsa
Generating 2048 bit rsa key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZaj90uKcWjEbpHb7XN23Cl08s/fPKRPF6jLy9NUOJ14cMSLMhxAlfRThqNfk6R/KwdbUQHJ2SmSnWeeltnQ2+Odh8Ux1.............VRB krazyeom@RT-AC68U-8DF0

public key를 id_rsa.pub 로 저장을 한다음

cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password:

다음부터는 ssh a@B 명령어로 접속을 한다. 또는 ssh -i ~/.ssh/id_rsa a@B 로 직접 private key 위치를 지정해서 실행해도 된다.

반응형