winscp连接nas root账户拒绝访问_基于PROXMOX VE的家庭NAS搭建方案

2023-05-16

本文图片较多,有限流量党慎入,部分内容参考过网络上已有文章,所有工具收集自互联网

1.硬件选择

我定下的目标是家用NAS,而且要价格便宜!耗电量要低,但是性能又不能太差,必须达到主流水准吧!

1.1主板

主板就选当前最容易买到的华擎J3455-ITX,至于性能更好些的J4105-ITX之类的,如果你能买到还是可以的,如果有PCIEx16的需要且对主板只带2个SATA能忍可以上M系列。4105比3455多了一个M2插槽,但是这个插槽只能上无线网卡。这里我选择3455-ITX吧。

参数对比:

主板差不多长这样:主要关注的参数有4个SATA!千兆网卡,pcie2.0插槽一个。

主板图

1.2内存

内存大小

至少4GB以上,推荐8GB到16GB,如果你有同时使用多个虚拟机的情况,那么4GB是有点局促的。

鉴于网上流传着这块主板挑内存,那就随便选个兼容的低电压内存吧,牌子随意,具体型号可以查看兼容列表

我这里就简单在某宝选个兼容型号

1.3电源

NAS是一个长期不关机的设备,一个好一点的电源就是必须的了,好在这块主板的功耗很低,加上4块硬盘的满载功耗也应该不到30W,选择一个不那么山寨的牌子就好,我这里就用我自有的爱国者额定300W黑暗骑士吧。

1.4机箱

网上的NAS机箱普遍价格虚高,如果手头比较紧且对空间占用和颜值没有太高要求,可以使用普通机箱代替。不差钱的估计也上成品NAS了,我就不做推荐了,图吧基佬甚至能用鞋盒。

1.5硬盘

NAS的主要部件之一就是硬盘,推荐一块固态硬盘加三块机械硬盘。

固态硬盘建议64GB以上,鉴于现在固态硬盘价格很便宜,上个240GB的也无妨。机械硬盘的话就按需购买就行了。如果数据比较重要可以组raid5(硬盘比较大的情况下有较大概率恢复失败的概率),如果不重要的话建议不要组raid,组raid的话一读写数据所有硬盘都要工作,耗电量较大,噪音也大。

2.系统选择

1.1NAS系统

系统是整个NAS的灵魂所在,常见的NAS系统有开源的FREENAS,OpenMediaVault,EasyNAS,不免费的群晖,或者WINDOWS ,介于我的定位是家用,那么易用性就得占主导地位,选择群晖吧。

1.2平台系统

鉴于群晖的特殊性(需要引导盘等等),我决定将NAS系统安装到虚拟机上。这样便于管理和迁移。

常见的虚拟机系统有ESXI,但是我尝试之后发现对网卡比较挑剔,J3455需要提前灌入驱动才行,有点麻烦,于是选择另外一个免费开源虚拟机系统PROXMOX VE,难能可贵的是它还支中文!

3.系统安装

把硬件组装好之后就可以安装系统了。

首先到Proxmox VE官网下载最新版的系统并校验文件,

Download Proxmox software, documentation, agreements​www.proxmox.com

然后将系统镜像通过软碟通等刻录软件刻录到光盘或者U盘,将U盘接到主板USB接口上,开机,在bios里面选择U盘启动,检查一下CPU虚拟化是否开启,然后重启按照提示操作即可。

简易图示

4.虚拟机使用及配置小鸡

在局域网内的其他电脑上输入PVE的地址

记得加上https://和端口号8006(例如:https://192.168.1.100:8006)

登陆的时候如果提示证书错误请选择继续打开。

输入用户名root及刚才设置的密码

提示没有有效订阅,请点击确定或者"x"以忽略.

4.1创建群晖虚拟机

选择右上角创建虚拟机创建一个虚拟机

ID默认即可,名称随意,

下一步操作系统选“不使用任何介质”

下一步硬盘总线选”sata“,磁盘大小随便填个20GB吧(只用来安装群晖的DSM及部分软件)设置太大会导致备份恢复慢。

下一步CPU按需设置,甚至可以保持默认。

下一步内存按需分配,我这里选择4GB

下一步网络模型设置为”半虚拟化“(synology DS 3617XS 6.1.6-15266可以选择半虚拟化,6.2-23739版本选择intel E1000)

下一步,检查配置信息,确认无误点击”完成“

稍等片刻即可完成创建(在右侧PVE目录下可以看到)。

准备WINSCP,通过WINSCP登陆到你的PVE主机,主机名为你的PVE地址,也就是在浏览器中输入的访问地址不需要填写”https://“及端口号”8006“

具体配置示意图

黑群晖系统也有很多个型号,常见的有3617,3615或者918,我这里就选择3617吧

登陆到ROOT目录下,将img2kvm工具及群晖3617的引导synoboot.img拖进去。

在web管理页面选择”pve“,点击”shell“打开web shell

输入

chmod +x img2kvm

并回车

输入

以下加粗部分为虚拟机ID,可以在左侧视图里面看到,如果是新建的第一个虚拟机那么应该是100,如果你的ID不一样,改成你的ID即可。

./img2kvm synoboot.img 100 vm-100-disk-1

并回车

如果操作无误,在WINSCP刷新一下,你将会看到多了一个名为vm-100-disk-1.qcow2的文件。

在硬件目录会多出来一个”未使用的磁盘0“

如图所示

双击这块磁盘,并根据提示添加它,总线/设备 选择“SATA”其他保持默认,然后你会看到一个硬盘(sata1)已经添加成功,容量为52MB,这将是群晖的引导盘。

接着在“选项”里面修改引导设备1为sata1并保存。

如果操作无误,那么你将会有2个虚拟的硬盘已经上线,一个20G,一个52MB(我的上上图只是用来演示所以只分了10GB,不要学我!!

接下来就可以通过 控制台/电源/开机 了!

经过片刻等待之后会看到提示。

接下来通过群晖助手搜索设备!

下载安装synology Assistant后打开即可搜索到局域网内的群晖设备,没有安装群晖系统的会在“状态”提示DSM未安装。

可以双击未安装DSM的群晖设备以在浏览器中打开配置页面,也可以在浏览器输入未安装DSM的群晖设备的IP地址加端口号:5000。

点击“设置”进入下一步,安装系统的时候不要选择“安装最新版的DSM”!!请本地上传你下载的DSM6.2-23739

群晖的DSM系统未pat格式(其实就是个压缩包,可以用winrar打开),如果安装的是6.2-23739的引导,那么你只能使用23739版本的系统,用其他版本极有可能让你前功尽弃。黑裙虽好,有钱的还是建议上白的哦!省心,其他品牌的也行。

系统可以在官网下载:这里我直接将官网地址贴出来

Index of /download/DSM/release/6.2/23739​archive.synology.com

经过大约10分钟的等待之后就可以进入到配置页面了,根据提示配置系统即可,唯一一点需要注册的就是时刻谨记自己是黑的,不要选择“自动安装更新”,也不要去尝试使用quickconnect,用不了是肯定的!

至此为止,你的DSM系统已经安装到你的固态硬盘里面了!

然后将NAS关机!

关机完毕之后,将物理磁盘直接直通给群晖!

回到proxmox,选择shell

输入apt-get install lshw

回车,安装lshw

输入ls -l /dev/disk/by-id/

回车,查看磁盘ID

正常情况下你就可以看到你接的所有硬盘ID了

我的第一块是金士顿的240G SSD,然后第二和第三块是希捷的2TB机械硬盘,从ST2000......这个是硬盘序列号,可以查出这是什么硬盘,以便于和你的硬盘对号入座!

直接从shell中复制出ID(不建议手动输入,容易出错!)

例如我的第二块硬盘ID为ata-ST2000DM001-1ER164_Z4Z1EYYK

然后在shell输入以下代码

qm set 103 --sata2 /dev/disk/by-id/ata-ST2000DM001-1ER164_Z4Z1EYYK

其中103 是我要直通到的虚拟机ID,sata2是硬盘顺序(因为我的引导是52MB的sata1,系统盘是20GB的sata0,所以下一块直通的盘应该是sata2,下下块是sata3) 然后/dev/disk/by-id/ 后面是你复制出的硬盘ID。

不记得怎么查虚拟机ID的看这里

输入代码后回车就可以在虚拟机(我这里是103(DSM2))的“硬件”菜单看到一块“未使用的磁盘”,和先前添加引导盘一样双击选择"SATA"之后保存即可。将你所需要直通的硬盘全部添加进去!然后再开机。

开机之后在群晖的“存储空间管理”中选择“存储池”点击“新增”按照自己的需求配置存储池和存储空间即可,我这里只是演示一下.

到此为止,系统也安装完毕了!

注意不要在系统里面更新系统哦!有可能让你前功尽弃的!

4.2创建windows小机

首先打开WINSCP登陆PVE,然后进入到/var/lib/vz/template/iso目录

将你的windows ISO安装镜像拖进去,即可。你要拖其他linux镜像也可以的。

然后新建虚拟机,在“操作系统”栏选择ISO镜像,然后选择你导入的系统安装镜像即可,其他的和群晖虚拟机创建几乎一样!

然后选择新创建的虚拟机,选择“控制台”开机,就会开始windows安装流程了,按照提示安装即可,这里不再细说!

虚拟机创建完成之后可以把windows的远程桌面打开,以后直接通过远程桌面即可登陆。

5.后续一些设置简要说明

如果想要远程登陆你的NAS或者windows虚拟机,如果你有公网IP的话,那是最好不过了。可以通过群晖的DDNS或者路由器的DDNS配上端口转发来实现远程登陆,如果你和我一样没有公网IPV4,但是有公网IPV6的话那可以用个支持阿里云的IPV6 DDNS的shell文件来自动更新DDNS。

5.1修改aliddns.sh

如果你有阿里云的域名的话(很多域名相当便宜的),在阿里云申请一个accesskey ID

将你的accesskey ID和Access Key Secret填入到aliddns.sh里面相应的位置,并将自己需要ddns的域名信息写入。

域名需要在阿里云的控制台添加一个AAAA记录。

至于网卡信息,可以在群晖的“控制面板”里面找到“终端机及SNMP”启用SSH功能。

然后通过xshell等类似的超级终端登录到你的群晖(可以在shell界面输入

ssh -p 端口号 用户名 @ IP地址例如 ssh -p 22 admin@192.168.2.2 )

然后再shell里面输入 ip addr

然后查看你的IPV6地址在哪个网卡下面

然后将aliddns.sh里面的eth0改成这个网卡的名字即可!

然后将aliddns.sh通过file station 放到你的群晖里面去,然后右键查看它的位置并复制路径。

然后再群晖控制面板里面找到“任务计划”,添加一个任务,10分钟执行一次

然后右键运行一下任务,再去阿里云看看你的IP是否已经更新,如无意外应该已经更新了。

5.2虚拟机访问NAS的共享文件夹

在群晖的控制面板 新增共享文件夹

在虚拟windows小机中安装synology Assistant,选择网络硬盘,按提示输入账号和密码映射磁盘或者目录到系统即可!

5.3搭建一个自己的导航页

如果你再NAS里面搭建的业务多了,难免需要记各种端口号,这个是相当烦的一件事,那么一个属于你自己的导航页就必不可少了!

在群晖套件中心安装web station

在web station 的状态页,安装nginx(或者apache)和PHP7

设置服务器,并启用个人网站。

通过notepad++或者其他文本编辑软件(sublime text3或者ultraedit)修改导航页“index.php”中的链接、图片和文字描述为你自己的即可,然后保存!

导航页自带了BGM,如果不想要可以把BMG注释掉,想更换就把music文件夹内的音乐换了,再把下面代码框内的音乐名字改成你换好的即可。

通过file station 将导航页所有文件传到web目录下(包含以下内容)

然后在浏览器输入你的IP地址即可访问导航页。

5.4 其他比较好的可装软件

1.PLEX MEDIA SERVER 影视爱好者可以装一个,个人感觉比系统自带的video station好用,毕竟是黑的,不能使用它的在线转码,用这个就没问题了。

2.KodExplorer 可道云,私有云存储&协同办公。

3.baidu cloud 百度网盘下载工具

4.aria2 下载工具

.......

6.后记及部分操作答疑

1.为什么不直接装群晖在物理机上?

1.1因为是黑的,不能升级,如果在物理机上安装群晖,那么虚拟机就要运行在群晖上,群晖一玩完,其他小鸡也访问不了。

1.2群晖装在物理机上,需要DOM盘作为引导,常见的需要有一个U盘引导,虽然也有写到硬盘里面的方法,但是效果不好,,开机慢(至少我的体验是这个)。

1.3群晖运行在虚拟机中,升级和备份都很容易,故障恢复也很简单。

2.为什么虚拟机用proxmox VE不用ESXI

2.1因为esxi的网卡驱动比较难搞。

2.2proxmox VE的性能损失也很小。

3.为什么不直接用windows做文件共享

3.1最开始我用的就是windows,因为我的一些服务软件必须跑在上面,但是这毕竟不是真正的服务器,没有ecc的内存,时间久了用win就感觉很卡。况且群晖的一些服务是真的好用,等我富裕了必须整个白的,高端的。

4.我没有公网IPV4也没有公网IPV6想外部访问咋办?

4.1软件法:向日葵,花生壳,ngrok或者frp,推荐使用两种以上的方法搭配使用!

4.2硬件法:花生棒,IP盒子

5.为什么不将硬盘直通给群晖后再安装DSM?

5.1我这里主要是为了备份方便,我把DSM系统安装到固态硬盘之后,再把机械硬盘直通给群晖,设置好共享目录以及安装好plex等等软件之后关闭群晖,然后在PVE里面把群晖的硬件选项展开,将直通的硬盘分离掉,然后在PVE里面对群晖系统进行备份,备份完成之后再将机械硬盘直通回去,再开机。这样做的好处就是备份起来更加方便。机械硬盘故障之后不用重装DSM。如果将机械硬盘直通给群晖之后再装DSM系统,那么系统会装到每一块硬盘里面。

6.上面用到的这些安装包,系统到哪儿找?

6.1在这里链接: https://pan.baidu.com/s/1e54pu5fVLAwt17RKbAv8gg 提取码: 7e9w

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

winscp连接nas root账户拒绝访问_基于PROXMOX VE的家庭NAS搭建方案 的相关文章

  • WinSCP 批处理文件无法工作,但可以在 CMD 中手动工作

    我的脚本 cd C Users Administrator Downloads WinSCP 5 9 2 Portable winscp com command open ftp test email protected cd facomm
  • Swift popToRoot 不工作

    这个突出显示的行是 popToRoot 应该继续进行的地方 成功注册后 它应该重定向到根视图控制器 由于某种原因 它对我不起作用 实际上什么也没有发生 甚至没有错误 我尝试过 self navigationController popToR
  • 在 PowerShell 中使用 WinSCP 仅下载新文件

    如何下载最新文件或某天发布的文件 导入包含以下内容的 CSV 文件Source and a 目的地柱子 需要检查路径是否存在 文件是否存在并且仅下载新文件 现在的脚本正在将所有文件移动到相应的文件夹 但是一旦我再次运行脚本 它不仅仅下载新文
  • 使用 system() 在 C 中执行 sudo 命令

    我正在编写一段 C 代码 它将运行一些sudo命令输入system sudo ip route 函数调用 此调用是在主线程创建的 pthread 中完成的 并且主程序正在执行sudo program启动时 当我运行该程序时 Ubuntu 提
  • 将文件复制到 FTP 并以今天的日期存档

    我需要创建一个执行以下操作的脚本 将文件夹中的所有文件复制到 FTP 站点 如果复制成功 则将文件移至存档 存档应该是一个新创建的文件夹 具有今天的日期 这样我们就知道它们何时被传输 我试图蚕食其他脚本来让某些东西发挥作用 但我没有取得任何
  • 检查用户是否是 C 中的 root?

    如何验证用户是否是root 通常测试用户是否为 root 是错误的 POSIX 甚至不需要 root 用户 而是将其留给实现来确定权限如何工作 代码如 if i am root do privileged op else print err
  • 在 C# 中使用 WinSCP .NET 程序集下载文件时,SSH 主机密钥指纹...与模式不匹配...

    我正在编写一个 C 应用程序 希望最终创建一个 Windows 服务 如果我能让这个工作正常的话 来使用 SCP 从服务器下载文件 我仅限于 SCP 作为唯一的选择 我正在使用 WinSCP NET 程序集 v 5 15 3 我的 PC 和
  • 使用 PowerShell 将文件上传到 SFTP

    我们被要求设置从我们的一台服务器到 SFTP 站点的自动上传 每个星期一早上都会有一个文件从数据库导出到文件管理器 他们希望在星期二将该文件上传到 SFTP 我们当前使用的身份验证方法是用户名和密码 我相信也可以选择拥有密钥文件 但选择了用
  • 将 Rails 更新到 3.1.1 我得到未初始化的常量 Product::RAILS_ROOT

    从 3 0 1 更新到 3 1 1 后 我的应用程序根据相关铁路广播公司 http railscasts com episodes 282 upgrading to rails 3 1我似乎明白了 未初始化常量 Product RAILS
  • 如何更改 MySQL 中的 root 用户名

    我在 Ubuntu 中运行 MySQL 默认安装 我如何更改用户名root对于另一个 比方说admin 最好是从命令行 连接MySQL后运行 use mysql update user set user admin where user r
  • 捕获Android屏幕[重复]

    这个问题在这里已经有答案了 如何以编程方式在 Android 手机上执行屏幕捕获 除了在 r oot 手机上之外 您无法从 Android 应用程序执行此操作 因为您无权访问帧缓冲区设备 不过 您可以从开发计算机的 DDMS 窗口通过 ad
  • NSTask、命令行工具和 root

    我正在开发一个需要使用 dd 的应用程序 我使用应用程序包中的 shell 脚本来执行此操作 该脚本从应用程序本身收集参数 进行一些检查 然后启动 dd 为了进行此操作 我需要使用 root 调用 dd 并且我已经在 StackOverfl
  • 使用 /var/lib/mysql 的 chown 从 root 更改所有者,现在 mysql 中出现错误 1049 (42000)

    在 Ubuntu 上 我之前在终端中使用以下代码创建了一个 mysql 数据库 my sql u root p 然后在mysql中 CREATE DATABASE securities master 我试图使用文件资源管理器来查看与该数据库
  • launchctl 无法运行二进制文件并以代码 78 退出

    我一直在构建一个 golangapp https gist github com krlc 8b9a79b33b857d1a66221ffc802d3c0d带有系统托盘 GUI 我想了launchctl每当我登录时运行我的程序 程序编译并运
  • Python使用sudo启动时找不到模块

    我有一个使用 Google Assistant 库的脚本 并且必须从那里导入一些模块 我发现这只适用于 Python 虚拟环境 这真的很奇怪 在同一个文件夹中 我有一个使用 GPIO 引脚并且必须使用 root 的脚本 它们相互交互 因此当
  • Android SU 权限:如何使用它们?

    这里有一种情况 我正在使用 Java 开发一个 Android 应用程序 我对这些东西都很熟悉 但现在这是我第一次需要使用 SU 权限 我只需要替换 实际上是重命名 system app 目录中的文件 但看起来我无法以通常的方式执行它 Fi
  • 在SSIS中使用执行进程任务和WinSCP进行SFTP传输

    我有一个User file txt文件放置在 WinSCP 根文件夹 USERDATA 中 我正在尝试将其下载到给定位置C User Local Executable C Program Files x86 WinSCP WinSCP ex
  • 无需root设备即可卸载系统应用程序

    有没有办法在不root设备的情况下将apk推送到系统 应用程序文件夹 我找到了几种在 root 设备上执行此操作的方法 但我正在寻找一种无需先 root 设备即可执行此操作的方法 如果有任何区别 我想在三星 S4 上执行此操作并使用 twr
  • android中无法绕过的Root检测方法

    我知道在 root 设备上运行拥有敏感信息的应用程序根本不安全 因此 开发人员通常在这种情况下进行 root 检测 如果发现设备已 root 则该应用程序将不会安装 一切都好 开发者在root检测中使用的主要技术是检查superuser a
  • 在python中求Legendre多项式的根

    我正在编写一个程序 通过勒让德 高斯求积求解积分 n 阶求积算法需要在某一时刻找到 n 阶勒让德多项式 Pn x 的根 并将它们分配给数组 Absc 表示 横坐标 Pn 是一个 n 阶多项式 在区间 1 1 上有 n 个独立的实根 我希望能

随机推荐