安装Entware,参考:Entware的安装方法-云梦彼方的博客 (91666666.xyz)
完成entware安装后,安装openssh
opkg install openssh-server && opkg install openssh-client
配置openssh
#使用ssh-keygen命令生成SSH密钥
ssh-keygen -t rsa -f /opt/etc/ssh/ssh_host_rsa_key
ssh-keygen -t ed25519 -f /opt/etc/ssh/ssh_host_ed25519_key
#在/etc/passwd文件中加入
sshd:x:109:65534::/opt/var/run/sshd:/bin/sh
#启动openssh
/opt/etc/init.d/S40sshd start
解决连接ssh远程服务器时,出现"Algorithm negotiation fail"问题
原因:OpenSSH 7.0以后的版本默认不再支持ssh-rsa(rsa/SHA1)和ssh-dss(DSA/SHA1)
签名算法,如果指定使用ssh-rsa(rsa/SHA1)和ssh-dss (DSA/SHA1)
签名算法将会登录失败。由于FinalShell、Nuoshell、Securecrt等部分SSH客户端软件默认仅支持使用ssh-rsa(rsa/SHA1)
或ssh-dss (DSA/SHA1)
算法,不能兼容使用 rsa-sha2-256(rsa/SHA256)
或者 rsa-sha2-512(rsa/SHA512)
,所以无法登录。
解决方案:
cp -a /opt/etc/ssh/sshd_config /opt/etc/ssh/sshd_config_bak
echo 'PubkeyAcceptedAlgorithms=+ssh-rsa' >> /opt/etc/ssh/sshd_config
echo 'HostKeyAlgorithms=+ssh-rsa' >> /opt/etc/ssh/sshd_config
/opt/etc/init.d/S40sshd restart
或者:
cp -a /opt/etc/ssh/sshd_config_bak /opt/etc/ssh/sshd_config
echo 'PubkeyAcceptedKeyTypes=+ssh-dss' >> /opt/etc/ssh/sshd_config
echo 'HostKeyAlgorithms=+ssh-dss' >> /opt/etc/ssh/sshd_config
/opt/etc/init.d/S40sshd restart
配置frpc
安装frp-go
opkg install frp-go
配置frpc.toml,参考:Linux下部署Frp服务器端教程-云梦彼方的博客 (91666666.xyz)
启动frpc
/opt/bin/frpc -c frpc.toml