作业题:
1. 自动获取IP地址的命令是什么?您知道在什么情况下,您的Linux才可以自动获取IP地址?
   自动获取IP的命令是 dhclient ;只要linux所在的网络有dhcp服务器才可以自动获取ip,dhcp服务就是一个发布IP的管理器

______________________________________________________________________________
2. 远程连接Linux服务器,需要Linux服务器开启sshd服务,那么sshd服务默认监听哪个端口?这个端口是否可以自定义呢?如果可以,如何自定义?
    sshd服务默认监听端口是22端口 ;这个端口可以自定义,需要修改/etc/ssh/sshd_config配置文件,把 "#Port 22"修改为"Port 12553" 其中12553就是新定义的sshd端口。

____________________________________________________________________________
3. 列举出常用的远程连接linux的终端工具有哪些?
 putty, Secure CRT, Secure SSh, Xshell 等

_________________________________________________

4. 手动配置IP,需要修改哪个配置文件? 更改默认的配置文件,需要更改哪些地方,需要增加哪几行?
   需要修改配置文件  vim /etc/sysconfig/network-scripts/ifcfg-eth0

   需要修改的有:

    更改:BOOTPROTO=static  

       增加:IPADDR=192.168.0.11  (修改的IP)
    增加:NETMASK=255.255.255.0
    增加:GATEWAY=192.168.0.1  (网关)
    增加:DNS1=192.168.0.1     

5. 重启网络服务的命令是什么?
 service network restart 或者
  /etc/init.d/network restart

6. 配置DNS需要修改哪个配置文件?
直接在网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0中来设置,增加如下内容:
DNS1=192.168.0.1
DNS2=192.168.0.2

7. 请查资料了解密钥对的工作原理。
   密钥对是指公钥加密(或者非对称加密)的加密算法,比如RSA和DSA等,这类算法使用一对密钥即公钥和私钥。其中,公钥可以随便分发,只用于加密,私钥则只由一人持有,只用于解密。任何用公钥加密的信息,用私钥解密后即可得到原来的信息。
RSA密钥对的工作原理如下:
假设两个用户A,B进行通信,A和B都要产生一对用于加密和解密的公钥和私钥,A的公钥和私钥分别为publicA和privateA,B的公钥和私钥分别为publicB和privateB。
(1)A和B要相互发送信息,所以彼此要交换公钥,A的公钥告诉B,B的公钥告诉A。但是私钥保密,只是自己拥有。
(2)A向B发送信息,明文为x 。
     A用B的公钥对明文x进行加密形成密文publicB(x),然后传输密文给B;
     B收到密文,用B的私钥对密文进行解密privateB(c(x)),得到要通信的明文x。
(3)B向A发送信息,明文为y 。
     B用A的公钥对明文y进行加密形成密文publicA(y),然后传输密文给A;
     A收到密文,用A的私钥对密文进行解密privateA(c(x)),得到要通信的明文y。

8. 请使用putty的生成密钥对工具,生成公钥和私钥,并且设置私钥密码,把公钥复制到Linux上,实现用密钥登陆您的Linux. 要注意两个关键点,就是设置 .ssh 目录权限以及关闭selinux.
(1) putty生成的公钥复制粘贴到Linux的/root/.ssh/authorized_keys文件里,并修改权限  chmod 600 /root/.ssh/authorized_keys

(2)默认/root/.ssh 这个目录是不存在的,需要我们手动创建  mkdir /root/.ssh

  (3)  mkdir /root/.ssh 并且修改权限为700;  chmod 700 /root/.ssh

    关闭selinux的方法有两种:

(1)永久关闭,编辑 /etc/selinux/config 把SELINUX=enforcing改为SELINUX=disabled 然后重启Linux

(2)临时关闭selinux: setenforce 0

   或者 

 iptables -F   (关闭防火墙  ,临时关闭)

     然后 service iptables save

9. 如何临时关闭selinux?如何永久关闭selinux?

   临时关闭selinux:   setenforce 0      iptables -F   (关闭防火墙  ,临时关闭)
永久关闭,编辑 /etc/selinux/config 把SELINUX=enforcing改为SELINUX=disabled 然后重启Linux 

10. 怎么临时配置主机名?又如何让它重启后依然生效?
 假如要把主机名修改为"aming.com",那么需要这样操作
hostname aming.com
要想重启后生效,需要修改配置文件 /etc/sysconfig/network,修改为HOSTNAME=aming.com

11. 查看linux有几块网卡以及网卡ip用什么命令?
  ifconfig -a
12. CentOS下可以使用setup命令给网卡配置ip,如果没有安装这个命令如何安装?

   setup 命令:用来配置X,打印设置,时区设置,系统服务,网络配置,配置,防火墙配置,验证配置,鼠标配置。

       安装:  yum install -y setuptool  system-config-network-tui

13. 查看一块网卡是否连接着网线的命令是?
        mii-tool eth0

14. 查看系统时间的命令是什么?如何更改系统时间?
      date

      date -s "2013-09-01 10:00:00"   (这样可以设置全部时间)

还有一种方法是同步时间服务器上的时间:首先安装ntp yum install -y ntp, 安装后,使用命令 ntpdate time.windows.com 即可

15. 如何调整putty显示的字体以及大小? 如何更改putty的字符集,让其支持中文显示?

调整putty显示的字体方法:从左边目录进入Window-Appearance页面,点击字体设置(Font settings)中的更改(Change)按钮,选择合适的字体和大小。
更改putty字符集支持中文的方法:从左边目录进入Window-Translation页面,在Remote character set栏选择UTF-8字体。

1.jpg

    
16.  如何限制IP登陆?  

http://www.lishiming.net/thread-5544-1-1.html

1) 白名单形式
要求: 只允许 192.168.0.1 和 192.168.0.10 登陆 其他全部禁止
实现:  
1. vim   /etc/hosts.allow   //增加如下内容
sshd: 192.168.0.1, 192.168.0.10
2. vim  /etc/hosts.deny   //增加如下内容
sshd:  ALL

2) 黑名单形式
要求: 只限制192.168.0.1登陆上来,其他全部放行
实现: 
vim  /etc/hosts.deny   //增加如下内容
sshd: 192.168.0.1

保存配置文件后就可以啦,不用重启。 不用再去编辑 /etc/hosts.allow 了

我们可以这样理解这两个文件工作原理: 当客户端的IP登陆服务器的时候,先去匹配hosts.allow, 如果这里面有这个IP,则直接放行,如果没有这个IP,则看hosts.deny, 如果这里面有该IP(ALL包括一切IP)则拒绝,如果deny中也没有匹配,则也会放行。也就是说,如果这两个文件中都没有限定的IP,则会放行!

请思考: 如果两个文件中都是 
sshd: ALL 会出现什么情况?

根据规则,先匹配是否放行,放行,然后就没然后了,deny文件没用了

17.  怎样让root账户不能使用密码只能使用密钥远程登陆? 

 http://www.lishiming.net/thread-5545-1-1.html


打开sshd配置文件  
vim  /etc/ssh/sshd_config  在最后面增加一行 :

  1. PermitRootLogin without-password

    保存配置文件后重启sshd服务

   service  sshd  restart


18.  如何做让不允许root账户远程登陆,而普通账户可以?  

 http://www.lishiming.net/thread-5546-1-1.html

有时为了特殊需求,只允许普通账户登陆Linux,而不允许root账户登陆,而普通账户登陆后,然后再su 到root下是可以的。

     打开sshd的配置文件 
    vim /etc/ssh/sshd_config  加入一行:

  1. PermitRootLogin no

重启sshd服务: service  sshd restart