红米4高配安装Postmarketos系统(3)

ajax-loader-2x 红米4高配安装Postmarketos系统(3)

建立可靠的ssh连接

当你建立了和服务器的ssh连接,如果用系统自带的147147连接,很快就会被攻击的服务器瘫痪。当然,如果你的服务器只是运行在局域网内,那当然没有问题。但是我们建立linux服务器的目的,就是有想法的时候随时可以去实验下,而不是回到家里才能实验,那样不如直接操作电脑。下图是远程手机ssh玩游戏的截图.

v2-93a4938c6d08035e8b2b31ebe4987444_b 红米4高配安装Postmarketos系统(3)
在ssh终端登录你的服务器情况下,
ssh sshtron.zachlatta.com
就可以游玩,还支持联机。注意是用wasd控制,而不是上下左右键控制

如果要能随时随地的登录你的LINUX服务器,首先要做的是确定你的网络是否支持公网IP

登录你的路由器,在底部或者状态页可以看到ip地址,复制这个地址,到ipshu.comm,也可以搜索ip查询,可以看到ip地址是否为公网ip,external IP address,如果不是,那就需要隧道穿透的办法,隧道穿透的原理是用某个提供穿透服务的网站,给你的服务器建立一个通道,这个网站会给你一个地址,一般是某个端口或者子域名,例如netfrp.net:5320,当你访问这个网址,就相当于访问你的服务器。cloudflare,netfrap等都有提供服务,大家可以试试。

当你的网络支持公网ip,第二部就是端口映射

首先最好是打电话给你的网络运营商,要求开通桥接,让你的路由器和运营商提供的光猫做桥接,可以简化你的网络环境和便于设置端口映射,因为有些光猫不提供端口映射功能,而路由器没有不支持的。
桥接在路由器或者光猫里都可以设置,当设置了桥接后,你的路由器和光猫就一体了,你就需要拨号上网了,拨号账户密码在设置桥接的时候运营商客服会提供给你,同时路由器里面就可以设置端口映射了,有些路由器里里面叫虚拟服务。这里有个设置ip的小技巧,一般来说你的光猫地址是192.168.1.1,而路由器一般会设为192.168.1.2,而上篇文章讲了把我们的linux服务器设为192.168.1.3,那么路由器的DHCP就从192.168.1.4~192.168.1.254,这样可以使服务器启动时网络更快,当然前面文章中的网关和dns要相应的改成192.168.1.2.这是由于现在你的光猫只是负责拨号,路由功能全交给路由器,使光猫有更好的性能,不容易掉线换ip,根据我的经验,长的时候可以半个月不重新拨号产生新的ip。
现在设置第一个端口映射,外部端口指的是绑定在公网IP上的端口,假设这里设为52022,内网端口对应你的linux手机的ip,这里设为22,是ssh服务的默认端口。在局域网内,我们是这样访问的,ssh [email protected]:22,”:22″默认不需要填写。而现在设置了公网Ip:52022>>192.168.1.3:22,我们在ssh客户端设置了公网ip,端口号52022,就相当于在内网访问192.168.1.3:22

现在假设你得到的公网ip是j,而且你用的是手机端ssh,这里以juicessh为例,外网端口52022对应192.168.1.3:22 。那么通过下面的配置

Screenshot_20240622_083826_com.sonelli.juicessh 红米4高配安装Postmarketos系统(3)

认证就是写入登陆postmarketos用户名

Screenshot_20240622_083851_com.sonelli.juicessh-473x1024 红米4高配安装Postmarketos系统(3)

如果你看到提示yes/no/fingerprint ,那么,恭喜你1.你拥有公网ip 2.你的配置很成功。

第二步 更改登陆方式为密钥登陆

现在你的服务器如同羊进入了狼群,非常危险,网络上有很多自动工具,扫描这些端口和ip,像我们现在的红米系统默认是147147的,很快就会被攻破,虽然你的服务器现在啥都没有,但是服务器被攻击,会导致你的连接很不稳定,服务器也容易莫名失去网络,甚至你的运营商会打电话来询问你是在建立网站吗,因为默认是不允许的,所以在端口映射你的映射如果是这样111.222.111.222:80 >> 192.168.1.3:80,那是不可能成功的,因为80,443(https)是被运营商默认封闭的。

第三步在局域网内登陆路由器关闭所有的端口映射,然后用电脑用ssh [email protected] 登陆服务器.

ssh-keygen

一路按回车,默认会使用密钥时不使用密码。 默认情况下会在/home/user下产生id_rsa,id_rsa.pub文件,id_rsa.pub是公钥,id_rsa是私钥。如果没有产生那就

sudo mkdir /home/user/.ssh

把密钥配置成登录授权文件

cat id_rsa.pub >> /home/user/.ssh/authorized_keys

为了确保客户端ssh 登录成功,还需要配置以下文件和文件夹权限,否则会出现各种奇怪的报错,Permission deniedAuthentication refused: bad ownership or modes for directory等。 配置文件夹访问权限:确保user用户可以访问,其他人不能访问,否则被改了就登录不了

chown user.user -R /home/user/.ssh/

也可能是这样的,因为有些喜欢把user设置成root组

chown root.user -R /home/user/.ssh/

只能user用户读写

chmod 600 /home/user/authorized_keys

user用户对.ssh目录的权限

chmod 700 /home/user/.ssh

关键的第四步,把id_rsa私钥文件传输给客户端,也就是你ssh登录的手机或者电脑,这里一般是指windows系统。

如果是linux系统,由于文件啊系统的一致性,是可以很简单的传输文件的,当让也可以安装ftp软件,这里尽量能少安装软件就不安装的原则。 传输到手机更加码放,安卓是个封闭的系统,需要软件虚拟出目录,目前没有实践过,推荐可以使用可以安装sshserver的ssh客户端例如termux。

      windows用win + x 打开 powershell,

,一般来说是在 c:/users/username/目录下, 首先也在输入

ssh-keygen

,一路回车。目的是建立一个可以登录的有访问权限区别的目录。 再次以win + x打开,并选中以管理员身份运行Powershell 复制下面的命令并输入:

Get-WindowsCapability -Online | Where-Object Name -like  'OpenSSH*'

应该能看到这样的结果:

Name  : OpenSSH.Client~~~~0.0.1.0
State : Installed

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

说明sshServer没有安装。安装ssh server

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

等待完成后,启动ssh server服务

net start sshd

如果看到这样就成功启动来了ssh server

OpenSSH SSH Server 服务正在启动 .
OpenSSH SSH Server 服务已经启动成功。

正式开始传输文件,

postmarkeros服务器到windows客户端。 第二次以win + x打开,并选中以管理员身份运行Powershell 执行scp命令,上面说的id_rsa 密钥文件应该在postmarketos/home/user/目录下,如果看不到可以用

sudo find -name id_rsa

来查找,当然可以用这个命令查找任意文件,还支持 *d_rsa*这样的通配符。

scp -P 52022  [email protected]:/home/user/id_rsa \users\yourWinLoginName\.ssh

yourWinloginNanme是你登录的用户名,应该可以在c:\users\yourWinLoginName\.ssh 目录下看到这个文件 现在就可以安全的登录你的linux服务器了,重新登录路由器打开你的52022>>22端口映射。

ssh  [email protected] -p 52022 -i id_rsa

如果这次提示你选择是否等,然后不用输入147147就能登录,说明你的密钥成功了。当然可以把.ssh目录下的文件复制到手机等设备登录

Screenshot_20240622_083851_com.sonelli.juicessh 红米4高配安装Postmarketos系统(3)

前面jussyssh登录时可选项私钥就是下载到windows .ssh文件夹下 的id_rsa。如果习惯用ftp,可以用这个软件传输到手机,本人推荐用cx文件管理器或者ES文件管理器。 ####

在成功不用输入密码就可以登录的情况下,禁止密码登录就不会被别人暴力破解了

请再次确认能用密钥登录。

首先编辑sshd配置文件。
sudo nano /etc/ssh/sshd_config
允许秘钥登录和禁止密码登录

在空白处加入下面三行,

RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no

现在可以愉快的用111.222.111.222在任意地方登录属于你自己的服务器了。 是不是这样就可以结束了呢,细心的读者发现,当路由器重启或者运营商自动动态更换IP的时候,你 就要回家一趟登录路由器看看公网Ip了,所以还需要下一节,获得域名和绑定动态IP。