一、配置linux客户端免密登录服务端linux主机的root用户:
-
在客户端计算机上打开终端。
-
生成 SSH 密钥对:
ssh-keygen -t rsa -b 2048
- 按照提示,直接按
Enter
使用默认文件位置(通常是~/.ssh/id_rsa
)。 - 如果需要,可以设置一个密码短语,但如果希望免密登录,则可以直接按
Enter
留空。
- 按照提示,直接按
步骤 2: 将公钥复制到服务器
-
使用
ssh-copy-id
命令将公钥复制到服务器:ssh-copy-id root@服务器_IP地址
- 将
服务器_IP地址
替换为你实际的服务器 IP 地址。 - 输入 root 用户的密码以完成身份验证。
如果
ssh-copy-id
命令不可用,可以手动复制公钥。 - 将
步骤 3: 手动复制公钥(如果 ssh-copy-id
不可用)
-
在客户端计算机上,查看并复制公钥内容:
cat ~/.ssh/id_rsa.pub
-
在服务器上,以 root 用户身份登录:
ssh root@服务器_IP地址
-
在服务器上,编辑
authorized_keys
文件:nano ~/.ssh/authorized_keys
-
将客户端的公钥粘贴到
authorized_keys
文件中。确保每个密钥占一行。 -
保存并退出编辑器。
步骤 4: 配置 SSH 服务
-
确保 SSH 服务允许使用公钥认证。打开 SSH 配置文件:
nano /etc/ssh/sshd_config
-
确保以下行没有被注释(没有
#
符号)并且设置为yes
:PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
-
如果你希望禁用 root 用户的密码登录(提高安全性),可以设置:
PermitRootLogin prohibit-password
或者
PermitRootLogin no
-
保存并退出编辑器。
-
重启 SSH 服务以应用更改:
systemctl restart sshd
步骤 5: 测试免密登录
在客户端计算机上,尝试 SSH 登录到服务器:
ssh root@服务器_IP地址
如果配置正确,你应该能够直接登录,而无需输入密码。
二、配置web服务器,当访问网站www.haha.com时显示haha:
创建虚拟主机(VirtualHost):
-
安装 Apache
sudo apt update sudo apt install apache2
-
配置 Apache
编辑 Apache 的默认配置文件,通常位于/etc/apache2/sites-available/000-default.conf
。sudo nano /etc/apache2/sites-available/000-default.conf
在
<VirtualHost *:80>
块中添加:<VirtualHost *:80> ServerName www.haha.com DocumentRoot /var/www/html <Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> # 自定义响应 RewriteEngine On RewriteRule ^/$ /haha.txt [L] </VirtualHost>
然后在
/var/www/html/
目录下创建一个文件:echo "haha" | sudo tee /var/www/html/haha.txt
-
启用重写模块
sudo a2enmod rewrite
-
重启 Apache
sudo systemctl restart apache2
三、 配置web服务器,当访问网站www.xixi.com/secret/时显示this is secret
-
安装 Apache
sudo apt update sudo apt install apache2
-
配置 Apache
在 Apache 的配置文件中添加以下内容。你可以在/etc/apache2/sites-available/000-default.conf
中进行修改。sudo nano /etc/apache2/sites-available/000-default.conf
在
<VirtualHost *:80>
块中添加:Alias /secret/ "/var/www/html/secret/" <Directory "/var/www/html/secret/"> Options None AllowOverride None Require all granted AddType text/plain .txt </Directory>
然后在
/var/www/html/secret/
目录下创建一个文件:sudo mkdir /var/www/html/secret echo "this is secret" | sudo tee /var/www/html/secret/index.txt
-
重启 Apache
sudo systemctl restart apache2