OpenWRT를 실행하는 라우터에서는 대부분의 시간 동안 SSH 연결을 활성 상태로 유지하기 위한 스크립트가 필요합니다(작은 중단은 괜찮습니다). 연결하려는 SSH 서버는 동일한 사용자의 여러 연결을 담당하므로 스크립트를 구성 파일에 넣으면 cron
충분합니다 .
두 가지 질문이 있습니다:
거기에 물건을 설치하는 것은 쉽지 않습니다(공간이 매우 제한되어 있고 작동하는지 시도하기 전에 많은 패키지를 컴파일해야 합니다).
연결하려는 서버가 RSA 키를 존중하지 않습니다.
내 라우터가 사용하기 때문에드롭 베어, 나는 다음 전략을 시도했습니다.
DROPBEAR_PASSWORD 정의
SSH_ASKPASS_ALWAYS 및 SSH_ASKPASS 정의
SSH_ASKPASS 및 DISPLAY 정의
작은채팅스크립트 - 이것이 가능한지 확실하지 않습니다. 아래에 게시하십시오.
ssh login@machine < password-file &
모두 헛된 것입니다. 저에게는 dbclient
최신 버전(Dropbear v2014.65)이 있는데도 문서가 작동하지 않는 것 같습니다.
dbclient
내가 나 자신에 대해 말할 수 있는 것은 다음 과 같습니다 .
root@OpenWrt:~# dbclient -h
Dropbear SSH client v2014.65 (link)
Usage: dbclient [options] [user@]host[/port] [command]
-p <remoteport>
-l <username>
-t Allocate a pty
-T Don't allocate a pty
-N Don't run a remote command
-f Run in background after auth
-y Always accept remote host key if unknown
-y -y Don't perform any remote host key checking (caution)
-s Request a subsystem (use by external sftp)
-i <identityfile> (multiple allowed)
-A Enable agent auth forwarding
-L <[listenaddress:]listenport:remotehost:remoteport> Local port forwarding
-g Allow remote hosts to connect to forwarded ports
-R <[listenaddress:]listenport:remotehost:remoteport> Remote port forwarding
-W <receive_window_buffer> (default 24576, larger may be faster, max 1MB)
-K <keepalive> (0 is never, default 0)
-I <idle_timeout> (0 is never, default 0)
-J <proxy_program> Use program pipe rather than TCP connection
-c <cipher list> Specify preferred ciphers ('-c help' to list options)
-m <MAC list> Specify preferred MACs for packet verification (or '-m help')
-V Version
chat
스크립트:
assword: mypassword123
ash
스크립트:
chat -f scriptfile &
ssh login@machine
내 라우터의 케이스는 ash
.
이런 종류의 문제가 해결되었다는 내용을 읽었 expect
지만 라우터에 종속성을 충족할 만큼 충분한 공간이 있는지 의심됩니다. 현재 라우터에 300kB가 남아 있지만 어떻게든 최대 512kB까지 회수할 수 있습니다.
어떻게 연결하나요?