一、配置证书登录
1.生成密钥
ssh-keygen -t rsa -f ~/.ssh/id_rsa_web
#这里的-f是更改公钥的名称,不加则为id_rsa.pub,-C则是备注
2.修改配置文件
vim /etc/ssh/sshd_config
#禁用root账户登录,非必要,这里如果设置了禁用root远程登录,使用证书登录用户,会导致登录失败
PermitRootLogin no
###########
# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
StrictModes no
# 是否允许用户使用密钥登入系统,仅version 2。
RSAAuthentication yes
PubkeyAuthentication yes
# 公钥白名单数据保存位置
AuthorizedKeysFile %h/.ssh/authorized_keys
# 禁用密码登录
PasswordAuthentication no
3.将私钥下载保存
4.公钥写入白名单
cat ~/.ssh/id_rsa_web1.pub >> ~/.ssh/authorized_keys
5.重启服务
/etc/init.d/ssh restart
6.可自行测试使用证书登录成功
在/etc/security/limits.conf 可以限制用户最大连接数目
二、安装AP(WiFi)
注意:&&&再次之前还是需要将wlan0接口禁用&&&(后面出现问题:reboot树莓派,之前配置好的WiFi没了)
sudo vim /etc/dhcpd.conf
denyinterface wlan0
禁用之后接口不能再接入其他的热点,
-----之后在配置完成之后出现,插拔电源WiFi不存在了,解决方法
将sudo nano /etc/network/interfaces下设置的IP地址注释掉,修改到/etc/dhcpcd.conf配置文件下最后一行配置
interface wlan0
static ip_address=192.168.60.1/24
nohook wpa_supplicant
同时注释了之前配置下的denyinterface wlan0
进行多次的reboot重启和插拔电源重启的操作——正常
三、安装配置hostapd
①首先安装服务
$ sudo apt install hostapd
$ sudo systemctl stop hostapd
②配置热点参数
sudo vim /etc/hostapd/hostapd.conf
③配置参数如下:
interface=wlan0
driver=nl80211
ssid=sunxingzhe
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678
rsn_pairwise=CCMP
④读取配置参数,找到"DAEMON_CONF",并且修改
sudo vim /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
⑤启动hostapd服务
sudo systemctl start hostapd
遇到服务启动失败,报错可以尝试运行:sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
(/usr/sbin/hostapd -B -P /run/hostapd.pid -B /etc/hostapd/hostapd.conf)
******若在连接WiFi时出现了启动失败,可以尝试使用命令进行二次启动******
四、配置wlan静态IP_配置dnsmasp
①编辑dhcpcd配置文件
sudo apt-get -y install dnsmasq
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
sudo vim /etc/dhcpcd.conf
配置内容如下:
interface=wlan0
#listen-address=192.168.6.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
#域名设置
address=/test.com/192.168.6.1
dhcp-range=192.168.6.100,192.168.6.200,24h
记录问题:
还需要检查下 hostapd服务是否启动了,重新启动下:
$ sudo systemctl restart hostapd
Failed to restart hostapd.service: Unit hostapd.service is masked.
如上所示,service 被 masked,则需要 unmask 并启动服务:
$ sudo systemctl unmask hostapd
$ sudo systemctl enable hostapd
$ sudo systemctl start hostapd
五、安装防火墙
sudo apt install ufw
disable ufw
六、配置nginx
apt install安装nginx
在修改配置文件,这里设置的端口是:3333
1.**对于配置文件的第一行要注意自己的user power(本配置文件)**
后面的server配置文件中
2.遇到了nginx无法使用默认的80端口
解决方案:注释了 #include /etc/nginx/sites-enabled/*;
3.new新配置(端口设置为默认的80端口,并且使用链接下载限制只能看到下载的apk——当输入http://192.168.6.1/ 会弹出403;当输入http://192.168.6.1/sougou.apk 可正常下载)
server{
listen 80 ;
server_name test.com;
location / {
#root /home/power/.config/MQrCode/theme/default;
#autoindex on;
deny all;
}
location ~* \.(apk) {
root /home/power/.config/MQrCode/theme/default;
autoindex on;
}
}
(#####这里限制了用户下载.apk以外的东西
可以使用域名test.com进行下载文件####)
并且再/etc/dnsmasq.conf配置文件中增加了address=/test.com/192.168.6.1
用户可在输入框中输入:域名+下载apk名称
4.######old旧文件(监听3333)——弃用##########
location文件#
server{
listen 3333 default_server ;
server_name _;
location / {
root /home/power/.config/MQrCode/theme/default;
autoindex on;
}
}
}
主要监听端口80
总结
****************安装中遇到的疑问************************
1.在安装的时候由于没有限制wlan0而导致了搜索不到指定的WiFi;每次reboot树莓派,dnsmasq服务有时起不来,有时正常的;
解决方法:
&&&再次之前还是需要将wlan0接口禁用&&&
sudo vim /etc/dhcpd.conf
denyinterface wlan0
禁用之后接口不能再接入其他的热点,2.在插拔电源重启的时候出现,wifi不存在了。那么给出的解决方法:
将sudo nano /etc/network/interfaces下设置的IP地址注释掉,修改到/etc/dhcpcd.conf配置文件下最后一行配置
interface wlan0
static ip_address=192.168.60.1/24
nohook wpa_supplicant
同时注释了之前在1.配置下的denyinterface wlan0
进行多次的reboot重启和插拔电源重启的操作——正常