GET STARTED · 02
打开第一个远端 Shell。
开始前准备
以下命令全部在远端 Linux 主机上、以准备使用 Astra 的普通 Unix 用户运行。你需要先通过现有 SSH、云厂商控制台或本地终端登录该主机,并确认 git --version 与 cargo --version 都能正常输出。Rootless 模式不需要 root 权限。
获取并初始化服务端
服务端源码来自公开仓库 github.com/astra-sec/astra-shell。在远端普通用户的主目录中执行:
git clone https://github.com/astra-sec/astra-shell.git
cd astra-shell
cargo build --locked --bins构建成功后,当前目录应为刚克隆的 astra-shell,并包含 target/debug/astrad。接着初始化只属于该用户的服务端状态:
./target/debug/astrad init --state-dir "$HOME/.local/share/astra-shell"这会创建主机证书、主机私钥、instance ID 和 Rootless 专用的 authorized_keys。不要删除或重新初始化这个目录,否则客户端会把主机识别为身份已变化。
授权客户端密钥
- 在 Astra Shell 客户端打开“密钥管理”。
- 选择“生成”,创建推荐的 Ed25519 Key;如已有 OpenSSH 私钥,也可以选择“导入”。
- 在该 Key 的菜单中选择“复制公钥”。
- 回到远端 Linux 终端,用文本编辑器打开下面的文件,把复制的完整公钥粘贴为单独一行,然后保存。
nano "$HOME/.local/share/astra-shell/authorized_keys"
chmod 600 "$HOME/.local/share/astra-shell/authorized_keys"如果主机没有 nano,请改用已安装的其他文本编辑器。文件中的公钥可以共享给服务端用于认证;私钥不能复制到服务器,只保留在客户端 Keychain 中。
启动并开放 UDP
仍在远端 astra-shell 源码目录中启动 daemon:
./target/debug/astrad serve \
--listen 0.0.0.0:4433 \
--state-dir "$HOME/.local/share/astra-shell" \
--session-root "$HOME"上面将 --session-root 设为 $HOME,表示新 Shell 和 Files 只能访问运行 daemon 的这个用户主目录。该命令以前台方式运行;关闭当前终端会停止服务。确认首次连接可用后,再使用该用户自己的 systemd user service 或其他进程管理器保持运行。
在同一个可信的远端终端中输出主机证书指纹:
printf 'SHA256:'
openssl dgst -sha256 -binary "$HOME/.local/share/astra-shell/host-cert.der" | base64 | tr -d '\n'
printf '\n'保留这行 SHA256:...,第一次连接时逐字核对。
创建连接
- 在 Astra Shell 中选择“添加 Host”,连接类型必须选择 Astra,不是 SSH。
- 地址填写可从当前设备访问的域名或 IP,不要添加
https://;端口填写4433。 - 用户名填写远端运行
astrad的 Unix 用户;可在远端运行whoami确认。 - 选择刚才生成或导入的 Key。
- 首次连接时,将客户端显示的 SHA-256 指纹与远端命令输出逐字比较,一致后再确认信任。
验证接续
连接成功后新建一个 Shell,先运行 whoami 和 pwd,确认远端用户与目录符合预期。再运行一个持续几分钟的安全命令,临时断开客户端后重新连接;你应该回到同一个 Terminal,而不是创建新的 PTY。