马春杰杰 Exit Reader Mode

群晖NAS安装在线SSH:sshwifty

本次使用的是niruix/sshwifty,安装非常简单,首先创建sshwifty的配置文件:

mkdir /volume1/docker/sshwifty

vi /volume1/docker/sshwifty/sshwifty.conf.json

输入:

{
  "Servers": [
    {
      "ListenInterface": "0.0.0.0",
      "ListenPort": 8182,
      "TLSCertificateFile": "",
      "TLSCertificateKeyFile": ""
    }
  ],
  "OnlyAllowPresetRemotes": false
}

之后,打开IP:8182,就可以看到登陆界面了:

不过需要注意的是,登陆SSH需要用https,所以即使你通过IP:8082的方式打开了web页面,仍然无法连接SSH,一个简单的方式是通过内网穿透将8082映射出去,然后在穿透的服务器上做反代。具体不细讲。当然,安全起见,还是加上密码比较好: "SharedKey": "CHANGE_THIS_TO_A_LONG_RANDOM_STRING",

如果希望能够配置免密,则使用下面的,分两种,私钥登录和密码登录:

1、私钥登陆

首先将~/.ssh/id_ed25519.pub中的内容放到SSH服务器的~/.ssh/authorized_keys中,然后,将sshwifty.conf.json内容改为:

{
  "SharedKey": "CHANGE_THIS_TO_A_LONG_RANDOM_STRING",
  "Servers": [
    {
      "ListenInterface": "0.0.0.0",
      "ListenPort": 8182,
      "TLSCertificateFile": "",
      "TLSCertificateKeyFile": ""
    }
  ],
  "OnlyAllowPresetRemotes": true,
  "Presets": [
    {
      "Title": "NAS LOCAL",
      "Type": "SSH",
      "Host": "192.168.1.1:3",
      "TabColor": "112233",
      "Meta": {
        "User": "ma",
        "Encoding": "utf-8",
        "Authentication": "Private Key",
        "Private Key": "-----BEGIN OPENSSH PRIVATE KEY-----\nb3BlbnNYWMB\n-----END OPENSSH PRIVATE KEY-----\n"
      }
    }
  ]
}

注意,Private Key中的内容来自~/.ssh/id_ed25519,回车要用\n表示。

2、密码登录

密码登录比较简单,改为下面的即可:

{
  "SharedKey": "CHANGE_THIS_TO_A_LONG_RANDOM_STRING",
  "Servers": [
    {
      "ListenInterface": "0.0.0.0",
      "ListenPort": 8182,
      "TLSCertificateFile": "",
      "TLSCertificateKeyFile": ""
    }
  ],
  "OnlyAllowPresetRemotes": false,
  "Presets": [
    {
      "Title": "NAS LOCAL",
      "Type": "SSH",
      "Host": "192.168.1.1:3",
      "TabColor": "112233",
      "Meta": {
        "User": "ma",
        "Password": "xxxxxxx",
        "Authentication": "Password"
      }
    }
  ]
}

配置好文件之后,直接打开SSH,运行下面的命令即可创建:

docker run --detach --restart unless-stopped --publish 8182:8182 --name sshwifty -v /volume1/docker/sshwifty/sshwifty.conf.json:/etc/sshwifty.conf.json niruix/sshwifty:latest