本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。
ssh 使用及问题总结。
局域网控制
最近发现在局域网下,用主力机控制备用机玩玩命令挺爽的。
但还有一些不便之处,比如 ssh 连接自动断开的频率偏高、需要重复
查完资料进行如下配置,方便后续玩耍。
备用机(联想小新8804F)作为服务端,主力机为客户端。
简单连接
备用机运行以下命令whoami
查看用户名,返回 u0_a205ifconfig
查看 ip 地址passwd
设置密码,确认两遍。(输入过程中不显示字符)sshd
启动服务
主力机运行ssh u0_a205@192.168.43.111 -p 8022
输入密码,成功连接。
备用机之前安装过 aria2,所以直接运行 bash aria2.sh
进行启动。
如果有什么需要挂机下载的任务,丢给它就好了。
设置超时断开
备用机配置
备用机在 Termux 下运行
micro $PREFIX/etc/ssh/sshd_config |
给 sshd_config 文件加上两行参数
ClientAliveInterval 600 |
第一行为服务器端向客户端请求消息的时间间隔,单位 s。
第二行为最大无响应次数。
按照以上配置,600*6=3600 秒,即发现客户端超过 1 小时无响应,则自动断开。
主力机配置micro .ssh/config
修改 .ssh 文件夹下面的 config 文件,添加以下内容
# 联想小新8804F |
密钥配对(免密码链接)
主力机生成密钥
ssh-keygen -t rsa -f ~/.ssh/id_rsa.8804 -C "邮箱" |
这样一来 .ssh 文件夹下面又多了两个文件,id_rsa.8804.pub 和 id_rsa.8804,不带 pub 的是私钥,不可外泄!
将公钥内容复制后添加到备用机的 .ssh/authorized_keys
运行 ssh 8804
,从此无需重复输入密码。
ip 经常变化怎么办?🤔
毕竟我们很难保证只用一种局域网连接方式😣
办法也是有滴:
Host .* |
假如更改连接方式后,备用机的 ip 变成了 192.168.49.1,那么只要输入 ssh .49.1
,就能成功连接。
解决文件权限问题
报错预览:
$ ssh -T git@github.com |
刷机重装 Termux 后,恢复 ssh 密钥:
将原先备份好的 ssh.zip 下载、移动至 Termux 的 home 目录,解压并配置相关权限。
unzip ssh.zip .ssh |
万一出现 permissions are too open
之类的报错,检查密钥的权限,改为 600 。
git clone 超级慢
Windows 的网络代理真是个蛋疼玩意儿,从 GitHub 的私有库获取文件花上老半天🤬
参考这篇 macOS 给 Git(Github) 设置代理(HTTP/SSH)
分辨需要设置的代理
HTTP 形式:
git clone https://github.com/owner/git.git
SSH 形式:
git clone git@github.com:owner/git.git
ssh 这么安全简便好用,果断选择 ssh,修改 .ssh/config
# github |
7890 是 Clash 的默认端口。
之前搜出的解决方案大多是教人用 http 代理的,可git clone git@*** 这种形式根本不走 http 代理,难道他们都不用 ssh 吗?🥲
干脆也记录一下,命令行逐个输入回车:
git config --global http.proxy "http://127.0.0.1:7890" |
有机会研究一下 wsl 好不好用吧🧐
参考
评论