鸟哥的Linux私房菜服务器架设篇

发布时间 2023-08-16 17:48:15作者: Redamancy_03

第十一章:远程连接服务器 SSH/XDMCP/VNC/XRDP

常见方式

基本上有文字接口与图形接口两种:

  • 文字接口明码: telnet, rsh 等为主,目前非常少用;
  • 文字接口密码: ssh 为主,已经取代上述的 telnet, rsh 等明码方式;
  • 图形接口: Xdmcp, VNC, RDP 等较为常见

 

     SSH:secure shell protocol 安全的壳程序协议;它可以透过数据封包加密技术,将等待传输的封包加密后再传输到网络上, 因此,数据讯息当然就比较安全。这个 SSH 可以用来取代较不安全的 finger, R Shell (rcp, rlogin, rsh等), talk 及 telnet 等联机模式。

 

 

 

  1. 服务器建立公钥档: 每一次启动 sshd 服务时,该服务会主动去找/etc/ssh/ssh_host*的档案,若系统刚刚安装完成时,由于没有这些公钥档案, 因此 sshd 会主动去计算出这些需要的公钥档案,同时也会计算出服务器自己需要的私钥档;

  2. 客户端主动联机要求

  3. 服务器传送公钥档给客户端: 接收到客户端的要求后,服务器便将第一个步骤取得的公钥档案传送给客户端使用 (此时应是明码传送,反正公钥本来就是给大家使用的!);

  4. 客户端记录/比对服务器的公钥数据及随机计算自己的公私钥:

    • 若客户端第 一次连接到此服务器,则会将服务器的公钥数据记录到客户端的用户家目录内的 ~/.ssh/known_hosts
    • 若是已经记录过该服务器的公钥数据,则客户端会去比 对此次接收到的与之前的记录是否有差异。

    若接受此公钥数据, 则开始计算客户端自己的公私钥数据;

  5. 回传客户端的公钥数据到服务器端: 用户将自己的公钥传送给服务器。

    • 此时服务器:『具有服务器的私钥与客户端的公钥』
    • 而客户端则是: 『具有服务器的公钥以及客户端自己的私钥
  6. 开始双向加解密:

    • 服务器到客户端:服务器传送数据时,拿用户的公钥 加密后送出。客户端接收后,用自己的私钥解密;
    • 客户端到服务器:客户端传送数据时,拿服务器的公钥加密后送出。服务器接收后,用服务器的私钥解密

启动ssh服务

client使用主机

[root@www ~]# ssh [-f] [-o 参数项目] [-p 非正规埠口] [账号@]IP [指令]

-p :如果你的 sshd 服务启动在非正规的埠口 (22),需使用此项目;
-o 参数项目:主要的参数项目有:ConnectTimeout=秒数 :联机等待的秒数,减少等待的时间StrictHostKeyChecking=[yes|no|ask]:预设是 ask,若要让 public key主动加入 known_hosts ,则可以设定为 no 即可。
-f :需要配合后面的 [指令] ,不登入远程主机直接发送一个指令过去而已

 

ssh配置

/etc/ssh/sshd_config里面

vnc

VNC server 会在服务器端启动一个监听用户要求的端口,一般端口号码在 5901 ~ 5910 之间。当客户端启动 X server 联机到 5901 之后, VNC server 再将一 堆预先设定好的 X client 透过这个联机传递到客户端上,最终就能够在客户端显示服务器的图形接口了。

[root@www ~]# vncserver [:号码] [-geometry 分辨率] [options]

[root@www ~]# vncserver [-kill :号码]

选项与参数:
:号码 :就是将 VNC server 开在哪个埠口,如果是 :1 则代表 VNC 5901 埠口
-geometry :就是分辨率,例如 1024x768 或 800x600 之类的
options :其他 X 相关的选项,例如 -query localhost 之类的
-kill :将已经启动的 VNC 埠口删除!依据身份控制喔。

 

 


第十二章:网络参数管理者 DHCP服务器
1、DHCP:dynamic Host configuration protocol;局域网通信协议; 可以提供网络参数给客户端计算机,使其自动设定网络的功能,

透过 DHCP 的统一管理,在同一网域当中就比较不容易出现 IP 冲突的情况发生
2、客户端发送广播数据给整个物理网段内的所有主机,DHCP服务器响应客户端的IP参数;

 


3、DHCP会优先分配已经租用过的IP;ADSL也是同样的机制;
4、DHCP客户端会主动依据租约时间会重新申请IP(renew);
5、DHCP服务器的IP分配方式分为动态分配与静态分配( 需要知道计算机的硬件地址(MAC) );

DHCP 可以透过 MAC 的比对来提供 Static IP (或称为固定 IP),否则通常提供客户端dynamic IP (或称为动态 IP)

DHCP 除了 Static IP 与 Dynamic IP 之外,还可以提供租约行为之设定

DHCP 可以提供的 MAC 比对、Dynamic IP 的 IP 范围以及租约期限等等,都在dhcpd.conf 这个档案当中设定的;
6、多台DHCP服务器在同一物理网段的情况,会采取先到先得的规则,一台主机一旦获取了某个DHCP服务器的IP,会记录起来,下次重新获取会根据这个记录文件来重新获取;
一般的情况之下,使用者需要自行设定 dhcpd.leases 这个档案,不过,真正的租约档案记录是在 /var/lib/dhclient/dhclient-eth0.leases 里面;
如果只是要单纯的 DHCP 服务,建议可以购买类似 IP 分享器的设备即可提供稳定且低耗电的网络服务。
DHCP 服务与 DNS 服务的相关性很高;
若 DHCP 客户端取得 IP 的速度太慢,或许可以找一下有网管 switch 的 STP 设定值
 

 


第十三章 文件服务器之一:NFS服务器
NFS network file system,目的是在不同机器、网络上共享数据文件,配置简单,只需启用rcpbind软件即可;

RPC服务及文件系统操作的相关性

 

 


服务端:目的需求->原理->注意点->启动查看->详细配置->客户端的设置使用;

NFS的服务器与客户端的使用者身份确认机制

 

NFS 服务器与客户端的使用者账号名称、UID 最好要一致,可以避免权限错乱
NFC客户端可以通过使用showmount、mount、unmount来使用NFS主机提供的共享目录数据;
 NFS 服务器预设对客户端的 root 进行权限压缩,通常压缩其成为 nfsnobody 或nobody
 NFS 亦可以使用挂载参数,如 bg, soft, rsize, wsize, nosuid, noexec, nodev 等参数, 来达到保护自己文件系统的目标

 

 


第十四章 账号管理:NIS服务器
NIS network information service
服务器端文件名                 档案内容
/etc/passwd                       提供用户账号、UID、GID、家目录所在、Shell 等等
/etc/group                          提供群组数据以及 GID 的对应,还有该群组的加入人员
/etc/hosts                          主机名与 IP 的对应,常用于 private IP 的主机名对应
/etc/services                     每一种服务 (daemons) 所对应的埠口 (port number)
/etc/protocols                    基础的 TCP/IP 封包协定,如 TCP, UDP, ICMP 等
/etc/rpc                              每种 RPC 服务器所对应的程序号码
/var/yp/ypservers NIS       服务器所提供的数据库

NIS server 其实就是提供本身的 /etc/passwd, /etc/shadow, /etc/group, /etc/hosts 等账号密码数据,以及相关的网络参数等,以提供网域当中 NIS Client 的搜寻之用

NIS运作流程:透过RPC服务

 NIS 为 server/client 架构,当 NIS client 有账号登入需求时,该主机会 (1)先找自己的/etc/passwd, (2)再前往 NIS server 搜寻相关账号资料

在 NIS Server 的设定当中,最重要的一个步骤就是将账号、密码、网络参数等 ASCII 格式档案转成数据库档案 (database file),以提供 NIS client 的查寻!而启动 ASCII 转成database 的程序可以使用 /usr/lib64/yp/ypinit -m 或者到 /var/yp 底下执行 make 均可

 

 

NIS client端的检验:yptest,ypwhich,ypcat

[root@clientlinux ~]# ypcat [-h nisserver] [数据库名称]
选项与参数:
-h nisserver :如果有设定的话,指向某一部特定的 NIS 服务器,
如果没有指定的话,就以 ypbind 之设定为主;数据库名称:亦即在 /var/yp/vbirdnis/ 内的档名啊!例如 passwd.byname  # 读出 passwd.byname 的数据库内容

 

使用者参数修改:yppasswd;ypchfn;ypchsh

由于 NIS 通常使用于内部网域当中,因此 /etc/hosts 这个档案的设定相当重要
若想让使用者在任一部 NIS 管辖的主机登入都可以使用同一份家目录,则需开启 NFS 提供 /home 给所有的主机挂载使用