连接服务器
首先需要在Termux上安装openssh
1 | pkg install openssh |
安装完成后,在服务器控制台中找到服务器的IP地址,以127.0.0.1为例,在termux中键入
1 | ssh root@127.0.0.1 |
其中root是用户名,127.0.0.1是服务器IP地址。到时候直接替换就行了,然后根据提示输入密码就可以了
设置免密登录
通过设置服务器以公钥方式进行身份验证,我们可以简化登录流程,实现免密码登录。
所以Termux输入
1 | ssh-keygen -t rsa |
遇到任何选项都回车,生成的密钥文件会保存在termux的home目录下的.ssh文件夹中(这个文件夹不可以对group组开放权限),使用cd命令进入该文件夹 [label color=”pink”]/data/data/com.termux/files/home/.ssh[/label]
之后使用vi或者vim打开id_rsa.pub(或者使用cp将id_rsa.pub文件拷贝到其他可读文件夹用txt格式打开),将里面的内容全部复制。
登录服务器,进入用户目录(如果是root就进入/root),之后cd进入.ssh目录,ls后找到其中的authorized_keys文件,使用vim打开,然后把复制的内容全部粘贴进去,保存退出(不懂使用vim的可以点我了解vim基础使用)。
再次使用ssh root@127.0.0.1登录服务器就不需要密码了。
设备互联
条件:两台设备都在同一局域网下
输入命令查看局域网
1 | ifconfig |
然后换到要被连接的手机上操作,使用下面命令打开Termux的ssh连接。其中的-p 1234指定了ssh连接的端口,这个可以根据需求选,不添加改参数则将默认使用8022端口:
1 | sshd -p 1234 |
之后使用下面命令为被连接设备创建一个密码。根据提示键入两次密码即可:
1 | passwd |
之后,在另一台设备上使用:
1 | ssh -p 端口(默认8022) user@ip地址 |
根据提示键入密码即可连接。
同样的,我们可以在被连接设备上设置ssh公钥实现免密连接。
在被连接设备上使用vim打开并编辑位于~/.ssh/authorized_keys文件,将之前获取到的id_rsa.pub中的内容粘贴进去保存即可。注意authorized_keys文件权限必须是600。
上述操作也可以实现其他设备连接手机上的Termux终端。
SSH的简单配置文件
如果没有zsh或者其他的命令行插件,每次重新复制粘贴或者找ip,找密码确实是个麻烦的事。我们可以通过配置ssh文件来实现快捷登录。
首先,在用户的.ssh文件夹下新建一个名称为config的文件,注意不需要扩展名。Termux的.ssh文件夹一般在~/.ssh。
在config文件里的配置可以这样写:
1 | Host 任何你想要的缩写类型,如ut,rt |
之后就可以通过缩写快捷ssh登录(搭配ssh密钥使用更佳):
1 | ssh ut |