SSHFS在kali系统里如何配置

在 Kali Linux 中配置 SSHFS 主要分为 服务端配置(允许其他设备挂载 Kali 的文件系统)和 客户端配置(Kali 作为客户端挂载其他设备的文件系统)。以下是详细步骤:

一、服务端配置(允许 Windows 挂载 Kali 的文件系统)

1. 安装 SSHFS 服务端组件

确保 SSH 服务(sshd)和 SSHFS 已安装并运行:

bash

sudo apt update
sudo apt install openssh-server sshfs
sudo systemctl enable --now ssh  # 启用并启动 SSH 服务

2. 创建用于挂载的目录(可选)

若需共享特定目录,可创建并设置权限:

bash

mkdir /home/kali/shared
chmod 755 /home/kali/shared

3. 优化 SSH 安全性(推荐)

编辑 /etc/ssh/sshd_config

bash

sudo nano /etc/ssh/sshd_config

添加以下配置:

conf

PermitRootLogin no          # 禁止 root 登录
PasswordAuthentication no   # 禁用密码认证(仅密钥)
PubkeyAuthentication yes    # 启用密钥认证
AllowUsers kali             # 仅允许 kali 用户(可替换为你的用户名)

重启 SSH 服务:

bash

sudo systemctl restart ssh

4. 生成 SSH 密钥对(若使用密钥认证)

在 Windows 端使用 PuTTYgen 生成密钥对,并将公钥添加到 Kali 的 ~/.ssh/authorized_keys

bash

mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "你的公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

二、客户端配置(Kali 挂载其他设备的文件系统)

1. 安装 SSHFS 客户端

Kali 已预装 SSHFS,若缺失可安装:

bash

sudo apt install sshfs

2. 创建本地挂载点

bash

mkdir -p ~/mnt/windows_share

3. 挂载远程文件系统

使用以下命令挂载 Windows 共享目录(需替换 IP、用户名、路径):

bash

# 密码认证方式
sshfs username@windows_ip:/path/to/shared Z:

# 密钥认证方式(需指定私钥路径)
sshfs -i /path/to/private_key username@windows_ip:/path/to/shared Z:

4. 自动挂载(推荐)

编辑 /etc/fstab 添加永久挂载:

bash

sudo nano /etc/fstab

添加一行(需替换 IP、用户名、路径):

plaintext

username@windows_ip:/path/to/shared /home/kali/mnt/windows_share fuse.sshfs defaults,auto,users 0 0

手动挂载所有 fstab 条目:

bash

sudo mount -a

三、常见配置参数

挂载时可通过 -o 选项指定参数,例如:

bash

sshfs username@server:/remote/path /local/mount \
  -o allow_other \        # 允许其他用户访问挂载点
  -o uid=1000,gid=1000 \  # 指定文件所有者 UID/GID
  -o IdentityFile=/path/to/private_key \  # 指定私钥路径
  -o reconnect \          # 自动重连
  -o cache=yes \          # 启用缓存提高性能

四、验证配置

1. 服务端验证

在 Windows 端使用 SSHFS-Win 连接时,输入以下信息:

  • 服务器:Kali 的 IP 地址
  • 用户名:Kali 用户名(如 kali
  • 密码 / 密钥:对应认证方式的凭证
  • 远程路径:如 /home/kali/shared

2. 客户端验证

在 Kali 终端中查看挂载点内容:

bash

ls ~/mnt/windows_share

五、故障排除

  1. 挂载失败,提示 “Permission denied”
    • 检查 SSH 密钥权限(~/.ssh 目录应为 700,密钥文件应为 600)。
    • 确保 /etc/fuse.conf 中启用了 user_allow_other
  2. 连接超时
    • 检查防火墙是否开放 SSH 端口(默认 22):
sudo ufw allow 22/tcp 
  1. 文件权限异常
    • 挂载时指定 uid 和 gid 参数匹配本地用户:
sshfs -o uid=$(id -u),gid=$(id -g) ...

通过以上配置,Kali Linux 可同时作为 SSHFS 服务端和客户端,实现与 Windows 或其他 Linux 系统的双向安全文件传输。