Android之Termux终端

一、SSH

为方便笔记本访问手机Termux,开启SSH Server:

参考 Using SSH ,由官方帮助了解到:

1、Termux下的sshd缺省端口是8022
2、通过ssh-keygen生成密钥
3、私钥放在~/.ssh/authorized_keys中,来验证ssh登录
4、ermux是单用户系统,ssh登录不能通过用户名与密码,只能通过公钥、私钥方式登录

1、Termux端操作:

apt install openssh #install the OpenSSH package,应该用pkg命令?
sshd #start the ssh server,可以通过pkill sshd停止服务进程
cd ~/.ssh
touch authorized_keys
ssh-keygen #生成id_rsa、id_rsa.pub两个文件
cat id_rsa.pub > authorized_keys
ssh localhost -p 8022 #本地ssh登录,测试OK
whoami #查看Termux用户名,例如u0_a181
cp ~/.ssh/id_rsa_pub /sdcard/download #复制到手机download目录下,通过airdroid传输到PC的.ssh目录下

注:安装openssh时,提示生成文件,本文用不上这些文件:

Generating public/private rsa key pair
Your identification has been saved in /date/data/com.termux/files/usr/etc/ssh/ssh_host_rsa_key.
Your public key has benn saved in /date/date/com.termux/files/usr/etc/ssh/ssh_host_rsa_key.pub.
The key fingerprint is:
… …
Generating public/private ecdsa key pair
… …
Generating public/private ed25519 key pair
… …

2、PC端

将id_rsa.pub文件复制到Windows用户下的.ssh目录,例如C:Usersqdmca.ssh
ssh u0_a181@192.168.2.108 -p 8022 #ssh手机,失败!为什么?是因为公钥私钥分不清用法吗?

其他基本命令:

ps #查看当前手机运行进程
cat /proc/cpuinfo #查看手机硬件配置
pkg install openssh #安装ssh
ssh root@ip -p port #例如 ssh root@www.zhangqihui.tk就可以登录我的VPS,ssh pi@www.greydesign.tk 登录家里的树莓派服务器

不对啊!我的树莓派是通过DMZ访问的,与路由器用的是同一个公网ip地址,岂不是登录了路由器的22端口了?幸亏路由器缺省是关闭ssh的。
路由器从6.6版本升级梅林固件到7.4,无法远程访问路由器了,,由于宽带提供商屏蔽了缺省的80端口。
需要手工配置为其他端口,比如以前我用的8085。这次升级我通过https管理路由器,端口就是8443了。

用SCP命令复制文件,应该比在windows界面下拷贝稳定吧?

apt install nmap #安装端口扫描工具,大约占用25M磁盘空间

apt install python #安装python,安装了3.6.1版本

二、配置C开发环境

apt list #列出可用的软件包
pkg install clang #安装c语言开发环境
apt install vim #vim与vi有啥区别?我的蓝牙键盘如何按esc键,需要切换3个键盘模式吗?
mkdir c
cd c
vim hello.c
gcc -o hello hello.c
chmod +r hello
./hello

三、配置golang开发环境

pkg install golang
go version

四、通过证书配置ssh访问github账户(meizu Pro5):

pkg install git #安装git
cd ~
mkdir pro5
cd pro5
git init #将 ~/pro5作为git目录,会产生一个 .git 子目录
git config user.name “greydesign”
git config user.email “qdmcad@outlook.com”
ssh-keygen -t rsa -C “qdmcad@outlook.com”
回车确认key文件“~/.ssh/id_rsa”
回车确认 no passphrase
回车

提示生成了两个文件:identification文件“id_rsa”、public key文件“id_rsa.pub”。
The key fingerprint is :SHA256:Au9+fkYIdVbtyGtIMI0p6rgcdqPEa359iPfJPORwic qdmcad@outlook.com 这长串是啥,我是不是不应该把它放在我的博客上啊?

termux-setup-storage #建立与手机存储卡的关联 参考 https://termux.com/storage.html
cp ~/.ssh/id_rsa.pub ~/storage/downloads

复制公钥的手机downloads目录,注意,实际是手机的download目录,不知道为啥差一个s。还有,手机不认识下划线,改名字才能看到。把公钥复制到github的用户设置“SSH and GPG keys”下,我添加了一项pro5,以与我的手机型号一致,利于记忆。

ssh -T git@github.com #测试ssh,提示如下:

The authenticity of host 'github.com(192.30.255.113)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to conginue connecting(yes/no)?yes #输入yes
Warning:Permanently added 'github.com,192.30,255.113'(RSA) to he list of kown hosts.
Hi greydesign!You've successfully authenticated,but GitHub does not provide shell access.

问题:

1、这算测试通过了吗?
2、为啥不提供shell?是因为那个参数“-T”吗?
3、192.30.255.113是谁的IP?我查了,www.github.com的IP是192.30.255.112。
4、.ssh目录下的kown_hosts是干啥用的?如何妥善保存公钥、私钥?
5、实现了通过密钥访问,如何禁止通过密码ssh访问?
6、GPG是什么鬼,与密钥哪个更有优势?

注意:我将两个域名www.zhangqihui.tk和www.hisense.tk的DNS IP解析互换了一下,用www.hisense.tk指向美国服务器,Termux竟然能通过原来的www.zhangqihui.tk访问,两者指向同一个IP,这算一个bug了吧?

 

参考:
基于Termux打造Android手机渗透神器
Termux 設定 SSH Server
电脑通过ssh连接android手机上的termux
Run an SSH server on your Android with Termux
Access Termux via USB
在 Android 上构建桌面版的开发和工作环境 #能实现桌面?
好用到哭 | Android Linux 环境:Termux #文章实现的几个功能需要尝试一下
Android在终端下编译一个C程序

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s