首页
/ 解决tmate-ssh-server连接报错"Invalid or expired session token"问题

解决tmate-ssh-server连接报错"Invalid or expired session token"问题

2025-06-05 15:58:23作者:冯梦姬Eddie

在搭建和使用tmate-ssh-server时,用户可能会遇到"Invalid or expired session token"的错误提示。这个问题通常是由于客户端配置不当导致的,下面我们将详细分析问题原因并提供解决方案。

问题现象

当用户按照标准流程搭建tmate-ssh-server后,服务器端显示如下信息:

Loading key keys/ssh_host_rsa_key
Loading key keys/ssh_host_ed25519_key
Accepting connections on :22
[test...] Spawning pty client ip=192.168.0.131
[test...] fatal: Expired token

而客户端尝试连接时会收到错误提示:

Invalid or expired session token
Connection to 192.168.0.198 closed by remote host.

问题原因分析

这个错误表明客户端与服务器之间的会话令牌验证失败。根本原因在于:

  1. 客户端没有正确配置服务器信息
  2. 客户端缺少必要的验证信息
  3. 客户端与服务器之间的认证流程不完整

解决方案

要解决这个问题,需要在客户端创建正确的配置文件:

  1. 在客户端创建配置文件:
nano ~/.tmate.conf
  1. 在配置文件中添加以下内容(根据实际服务器信息调整):
set -g tmate-server-host 192.168.0.198
set -g tmate-server-port 22
set -g tmate-server-rsa-fingerprint SHA256:Hthk2T/M/Ivqfk1YYUn5ijC2Att3+UPzD7Rn72P5VWs
set -g tmate-server-ed25519-fingerprint SHA256:jfttvoypkHiQYUqUCwKeqd9d1fJj/ZiQlFOHVl6E9sI

关键信息获取

上述配置中的信息可以通过以下方式获取:

  1. 在服务器端运行:
sudo ./create_keys.sh
  1. 命令执行后会显示服务器的RSA和ED25519信息,这些信息需要复制到客户端的配置文件中。

验证连接

完成配置后,在客户端直接运行:

tmate

客户端会自动读取配置文件并连接到指定的tmate服务器。

注意事项

  1. 确保服务器和客户端在同一网络环境下,或者服务器端口已正确映射(如果是远程连接)
  2. 防火墙设置需要允许tmate使用的端口(默认为22)
  3. 服务器密钥信息必须准确无误,任何字符错误都会导致连接失败
  4. 对于生产环境,建议使用更安全的端口而非默认的22端口

通过以上步骤,应该能够成功解决"Invalid or expired session token"错误,建立稳定的tmate连接。

登录后查看全文
热门项目推荐
相关项目推荐