Linux和windows不同,在Linux底下,由于每个程序(或者说是服务)都是 在在后台执行的,因此,在您看不到的屏幕背后其实可能有相当多人同时在您的 主上面 例如浏览网页啦、发送邮件, FTP传送文件等等的,如果您直 接按下电源开关来关机时,则其它人的数据可能就此中断!那可就伤脑筋了!】 外,最大的问题是,若不正常关机,则可能造成文件系统的毁损(因为来不及将 数据回写到文件中,所以有些服务的文件会有问题!)。 加果您要关机,必须要保正当前系统中沿有其他用户在线。可以下达h0这个 指令,而如果要看网络的联机状态,可以下达netstat 这个指令,而要看后 台执行的程序可以执行ps-ux这个指令。使用这些指令可以让您稍微了解主 机目前的使用状态!(这些命令在以后的章节中会提及,现在只要了解即可!) 正确的关机流程为:sysnc->shutdown->reboot->halt ·sync将数据由内存同步到硬盘中。 shutdown关机指令,您可以man shutdown来看一下帮助文档。例如您 可以运行如下命令关机: shutdown-h 10 这个命令告诉大家,计算机将在10分钟后关机,并 且会显示在登陆用户的当前屏幕中。 ·shutdown-hnow立马关机 。shutdown-h20:25系统会在今天20:25关机 shutdown-h+10十分钟后关机 shutdown-rnow系 统 马重启 ·shutdown-T+l0系统十分钟后重启 ·reboot就是重启,等同于shutdown-rnow ·halt关闭系统,等同于shutdown-hnow和poweroff 最后总结一下,不管是重启系统还是关闭系统,首先要运行symc命令,把内存 中的数据写到磁盘中.关机的命令有shutdown-hno,halt,poweroff和init 0,重启系统的命令有shutdown-rnow,reboot,init6. 第三章Linux系统的远程登陆 Liux大多应用于服务器,而服务器不可能像PC一样放在办公室,它们是放在DC机房后者 云计算中心,所以平时登录Linux系统都是通过远程登录的。inux系统中是通过ssh服务实 现的远程登录功能。默认s5h服务开启了22端口,而且当我们安装完系统时,这个服务已 经安转。并日是开机启动的。所以不需要我们领外园置什么就能直接远程脊录仪系统 sh服务的配置文件为/etc/sh/sshd_config,您可以修改这个配置文件来实现您想要的ss 服务。比如您可以更改启动端口为115870。 如果您是windows的操作系统,则Linux远程登录需要在我们的机器上额外安装一个终端软 件。目前比较常见的终端登录软件有SecureCRT,Putty,SSH Secure Shell等,很多朋友喜欢用 ecurecrt因为它的功能是很强大的,而我喜欢用pu比y,只是因为它的小巧以及非常漂亮的 颈色显示,而且是免费的。不管您使用哪一个客户端软件,最终的目的只有一个,就是远程 www.linuxidc.com
Linux 和 windows 不同,在 Linux 底下,由于每个程序(或者说是服务)都是 在在后台执行的,因此,在您看不到的屏幕背后其实可能有相当多人同时在您的 主机上面工作,例如浏览网页啦、发送邮件, FTP 传送文件等等的,如果您直 接按下电源开关来关机时,则其它人的数据可能就此中断!那可就伤脑筋了!此 外,最大的问题是,若不正常关机,则可能造成文件系统的毁损(因为来不及将 数据回写到文件中,所以有些服务的文件会有问题!)。 如果您要关机,必须要保证当前系统中没有其他用户在线。可以下达 who 这个 指令,而如果要看网络的联机状态,可以下达 netstat -a 这个指令,而要看后 台执行的程序可以执行 ps -aux 这个指令。使用这些指令可以让您稍微了解主 机目前的使用状态!(这些命令在以后的章节中会提及,现在只要了解即可!) 正确的关机流程为:sysnc –> shutdown –> reboot –> halt sync 将数据由内存同步到硬盘中。 shutdown 关机指令,您可以 man shutdown 来看一下帮助文档。例如您 可以运行如下命令关机: shutdown -h 10 ‘ 这个命令告诉大家,计算机将在 10 分钟后关机,并 且会显示在登陆用户的当前屏幕中。 shutdown -h now 立马关机 shutdown -h 20:25 系统会在今天 20:25 关机 shutdown -h +10 十分钟后关机 shutdown -r now 系统立马重启 shutdown -r +10 系统十分钟后重启 reboot 就是重启,等同于 shutdown -r now halt 关闭系统,等同于 shutdown -h now 和 poweroff 最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存 中的数据写到磁盘中。关机的命令有 shutdown -h now, halt, poweroff 和 init 0 , 重启系统的命令有 shutdown -r now, reboot, init 6. 第三章 Linux 系统的远程登陆 Linux 大多应用于服务器,而服务器不可能像 PC 一样放在办公室,它们是放在 IDC 机房后者 云计算中心,所以平时登录 Linux 系统都是通过远程登录的。Linux 系统中是通过 ssh 服务实 现的远程登录功能。默认 ssh 服务开启了 22 端口,而且当我们安装完系统时,这个服务已 经安装,并且是开机启动的。所以不需要我们额外配置什么就能直接远程登录 Linux 系统。 ssh 服务的配置文件为 /etc/ssh/sshd_config,您可以修改这个配置文件来实现您想要的 ssh 服务。比如您可以更改启动端口为 115870。 如果您是 windows 的操作系统,则 Linux 远程登录需要在我们的机器上额外安装一个终端软 件。目前比较常见的终端登录软件有 SecureCRT, Putty, SSH Secure Shell 等,很多朋友喜欢用 SecureCRT 因为它的功能是很强大的,而我喜欢用 Putty,只是因为它的小巧以及非常漂亮的 颜色显示,而且是免费的。不管您使用哪一个客户端软件,最终的目的只有一个,就是远程 www.linuxidc.com
登录到inux服务器上。 当开发机是windows,服务器是UnUx时,如何在windows操作系统和linux操作系统之 同进行文件传输呢?使用5Cp。 t等命令拷贝文件,也有不怕麻烦的在服务器上安装 更加安全稳定。这个时候要管理文件系统,想像FTP那么方便,又不想学习如何安装FTP 服务器,winscp就是一个极好的选择。只要你的Linux主机支持远程登录(ssh),那么你 下载一个winscp,使用Ssh张号登入,就可以像FTP那样简单管理文件系统了,不需要 你在服务器端做任何操作和设置。 您不妨跟着我一起来用一用Puty配合Winscp远程管理Unux服务器 下载Putty和Winscp 建议您到Puty和Winscp的官方站点去下载英文版原版的puty和Winscp。网上曾经报过, 某个中文版的PUt被别有用心的黑客给动了手脚,给植了后门。所以,提醒各位,以后不 管下载什么软件尽量去官方站点下载。 Puty的官方下载t地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htm 的官方下我地:址htp:winscp.net/eng/downioad.php 用putty登陆您的Linux 双击先前下载的putty.exe文件,这个小工具特别小巧仅仅有几百K,但是您可不要小看它 功能可是不少呢,而去这个工具的帮助文档够您看好几天的了,关健是全都是英文。如果物 的英文能力差一些也没有关系,相信随者您用ux越来越多,您的英文能力也会越来越强。 www.linuxidc.com
登录到 Linux 服务器上。 当开发机是 windows,服务器是 Linux 时,如何在 windows 操作系统和 linux 操作系统之 间进行文件传输呢? 使用 scp、wget 等命令拷贝文件,也有不怕麻烦的在服务器上安装 FTP 服务器,或者启用 samba 甚至 NFS。只是用 Linux 作为网页服务器,因为性能更好, 更加安全稳定。这个时候要管理文件系统,想像 FTP 那么方便,又不想学习如何安装 FTP 服务器,winscp 就是一个极好的选择。只要你的 Linux 主机支持远程登录(ssh),那么你 下载一个 winscp,使用 ssh 账号登入,就可以像 FTP 那样简单管理文件系统了,不需要 你在服务器端做任何操作和设置。 您不妨跟着我一起来用一用 Putty 配合 Winscp 远程管理 Linux 服务器。 下载 Putty 和 Winscp 建议您到 Putty 和 Winscp 的官方站点去下载英文版原版的 putty 和 Winscp。网上曾经报过, 某个中文版的 Putt 被别有用心的黑客给动了手脚,给植了后门。所以,提醒各位,以后不 管下载什么软件尽量去官方站点下载。 Putty 的官方下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Winscp 的官方下载地址:http://winscp.net/eng/download.php 用 putty 登陆您的 Linux 双击先前下载的 putty.exe 文件,这个小工具特别小巧仅仅有几百 K,但是您可不要小看它, 功能可是不少呢,而去这个工具的帮助文档够您看好几天的了,关键是全都是英文。如果您 的英文能力差一些也没有关系,相信随着您用 Linux 越来越多,您的英文能力也会越来越强。 www.linuxidc.com
级PuTTY Configuration for your PuTTY Te Specfy the destination you want to coectto Host Name (or IP address) Port oard mono cloudapp net 22 eatures Saved Defaut Settings Load□ Save ne Delete CAa0。Oniy on e Abou☐Hep☐ open☐canc ● 填写远程Linux基本信息:Host Name(or IP address)这一栏填写您在上一小节刚刚配置 的IP,我的Window 主机名为 “mono.cloudapp.net” Connection type也保持默认。 ●Saved Sessions这里自定义一个名字,主要用米区分主机,因为将来您的主机会很多, 写个简单的名字即方便记忆又能快速查找。 定义字符集,计算机里最烦人的就是字符集了,尤其是Uiux,搞不好就会乱码。在putt 这里设置也要支持中文。点一下左侧的 Window tion ”,看右侧 “Character set translation on received data”,选择UTf-&.之后再点一下左侧的 “Session”,然后点右侧的“save” 远程连接您的Linux 保存session后,点最下方的“Open”.初次登陆时,都会弹出一个友情提示,它的意思是 要打开的 Ux还未在本机登记, 则点是登 记该主机,否则点‘否 或者 login as:azureuser azureuser@mono.cloudapp.net's password: Last1ogin:FriAug214:24:152013from183.17.166.96 azureuser 输入用户名以及密码后,就查陆x系统了。登陆后会提示最后一次登陆系统的时间以及 从哪里登陆。 www.linuxidc.com
填写远程 Linux 基本信息 :Host Name (or IP address) 这一栏填写您在上一小节刚刚配置 的 IP,我的 Windows Azure 的 Linux 主机名为 “mono.cloudapp.net”. Port 这一栏保持默认不变。 Connection type 也保持默认。 Saved Sessions 这里自定义一个名字,主要用来区分主机,因为将来您的主机会很多, 写个简单的名字即方便记忆又能快速查找。 定义字符集,计算机里最烦人的就是字符集了,尤其是 Linux,搞不好就会乱码。在 putty 这里设置也要支持中文。点一下左侧的 “Window” –> “Translation”, 看右侧的 “Character set translation on received data”, 选择 UTF-8. 之后再点一下左侧的 “Session”, 然后点右侧的 “save”. 远程连接您的 Linux 保存 session 后,点最下方的 “Open”. 初次登陆时,都会弹出一个友情提示,它的意思是 要打开的 Linux 还未在本机登记,问我们是否要信任它。如果是可信任的,则点 ‘是’ 登 记该主机,否则点 ‘否’ 或者 ‘取消’,我们当然要点 ‘是’. 之后弹出登陆提示: login as: azureuser azureuser@mono.cloudapp.net's password: Last login: Fri Aug 2 14:24:15 2013 from 183.17.166.96 [azureuser@mono ~]$ 输入用户名以及密码后,就登陆 Linux 系统了。登陆后会提示最后一次登陆系统的时间以及 从哪里登陆。 www.linuxidc.com
使用密钥认证机制远程登录Linu以 SSH服务支持一种安全认证机制,即密组认证。所谓的密组认证,实际上是使用一对加密字 符串,一个称为公钥(publickey 任何人都可以看到其内容,用于加密:另一个称为密钥 (privatekeY,)只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松 密,但根据公钥来猜测密钥却十分困难。SSH的密钥认证就是使用了这一特性。服务器和 客户端都各自拥有自己的公钥和密钥。如何使用密钥认证登录iux服务器呢? ·下载生成密钥工只 在本章前面提供的puy下载地址里,您一定看到了很多可以下载的东西,我们只让您下载 putty.exe 因为当时只用到这一个工具,其实完整的puy程序包含很多个小工具的 所以建议您直接下载个完整包htp:lhe.earth.i/sgtatham/putty//latest小/x8/puty.zip下载后 解压,其中puyttygen.exe就是咱们这一小节中所要用到的密钥生成工其。 ·生成密钥对 关于常钥的工作原理,如果您感兴趣可以到网上查查.双击py n.exe,右下角“Number of”把“1024”改成“2048”,然后点 2 这样就开始 生成密钥了,请来回动一下鼠标,这样才可以快速生成密钥对,大约十几秒后就完成了。“Ky comment:" 这里可以保持不变也可以自定义,其实就是对该密钥的简单介绍: "Kye passphrase:”这里用来给您的密钥设置密码,这样安全一些,当然也可以留空,建议您设 置一个密码:”Confirm passphrase:”这里再输入一遍刚刚您设置的密码。 ·保存私钥 “Save private key”,选择一个存放路径,定义一个名字,点“保存”。请保存到一个比 较安全的地方,谨防丢掉或被别人看到。 ·复制公钥到Linux 回到刚才生成密钥的窗口,在“Ky”的下方有一段长长的字符串,这一串就是公钥的内 容了,把整个公钥字符串复制下来 然后粘贴到您的Linw的 /home/azureuser/.sh//authorized keys文件里。下面请跟若一起米做操作 root@localhost#mkdir /home/azureuser/.ssh [root@localhost~#chmod700home/azureuser/.ssh首先创建/home/azureuser/.sh目录,因 为这个目录默认是不存在的,然后是更改权限。关于mkdir和chmod两个命令,会在后 续章节详细介绍,暂时您只要知道是用来创建目录和更改权限的就行了。然后是把公钥内容 粘贴进home//azureuser/.sh/authorized_.keys文件 root@localhost#i/home/azureuser/.sh/authorized_keys回车后,按-下'进入编辑 模式,然后直接点击鼠标右键就粘贴了,这是puy工具非常方便的一个功能。粘贴后,按 一下‘Esc'键,然后输入wg回车保存退出该文件。 。关闭Selinux 如果不关闭selinux,3)使用密钥登陆会提示 一0这个见是指时命令行关用iR以次量关相法后eng 还会开启。水久关闭selinux的方法是: [root@localhost~]#i/etc/selinux/config回车后,把光标移动到“SELINUX=:enforcing'”按一 下!链,进入编辑模式,修政为 SELNUX=disabled 按“E5C”,输入wg回车,然后重启系 www.linuxidc.com
使用密钥认证机制远程登录 Linux SSH 服务支持一种安全认证机制,即密钥认证。所谓的密钥认证,实际上是使用一对加密字 符串,一个称为公钥(publickey), 任何人都可以看到其内容,用于加密;另一个称为密钥 (privatekey),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解 密,但根据公钥来猜测密钥却十分困难。 SSH 的密钥认证就是使用了这一特性。服务器和 客户端都各自拥有自己的公钥和密钥。如何使用密钥认证登录 linux 服务器呢? 下载生成密钥工具 在本章前面提供的 putty 下载地址里,您一定看到了很多可以下载的东西,我们只让您下载 了一个putty.exe. 因为当时只用到这一个工具,其实完整的putty程序包含很多个小工具的, 所以建议您直接下载个完整包 http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip 下载后 解压,其中 puyttygen.exe 就是咱们这一小节中所要用到的密钥生成工具。 生成密钥对 关于密钥的工作原理,如果您感兴趣可以到网上查一查。双击 puttygen.exe, 右下角“Number of bits in a generated key” 把 “1024” 改成 “2048”, 然后点 “Generate”, 这样就开始 生成密钥了,请来回动一下鼠标,这样才可以快速生成密钥对,大约十几秒后就完成了。“Key comment:” 这里可以保持不变也可以自定义,其实就是对该密钥的简单介绍; “Kye passphrase:” 这里用来给您的密钥设置密码,这样安全一些,当然也可以留空,建议您设 置一个密码;”Confirm passphrase:” 这里再输入一遍刚刚您设置的密码。 保存私钥 点 “Save private key”, 选择一个存放路径,定义一个名字,点 “保存”。请保存到一个比 较安全的地方,谨防丢掉或被别人看到。 复制公钥到 Linux 回到刚才生成密钥的窗口,在 “Key” 的下方有一段长长的字符串,这一串就是公钥的内 容 了 , 把 整 个 公 钥 字 符 串 复 制 下 来 。 然 后 粘 贴 到 您 的 Linux 的 /home/azureuser/.ssh/authorized_keys 文件里。下面请跟着一起来做操作: [root@localhost ~]# mkdir /home/azureuser/.ssh [root@localhost ~]# chmod 700 /home/azureuser/.ssh 首先创建/home/azureuser/.ssh 目录,因 为这个目录默认是不存在的,然后是更改权限。 关于 mkdir 和 chmod 两个命令,会在后 续章节详细介绍,暂时您只要知道是用来创建目录和更改权限的就行了。然后是把公钥内容 粘贴进 /home/azureuser/.ssh/authorized_keys 文件。 [root@localhost ~]# vi /home/azureuser/.ssh/authorized_keys 回车后,按一下 ‘i’ 进入编辑 模式,然后直接点击鼠标右键就粘贴了,这是 putty 工具非常方便的一个功能。粘贴后,按 一下 ‘Esc’ 键,然后输入 :wq 回车保存退出该文件。 关闭 Selinux 如果不关闭 selinux, [3] 使用密钥登陆会提示 “Server refused our key”, 关闭方法: [root@localhost ~]# setenforce 0 这个只是暂时命令行关闭 selinux, 下次重启 Linux 后 selinux 还会开启。永久关闭 selinux 的方法是: [root@localhost ~]# vi /etc/selinux/config 回车后,把光标移动到 “SELINUX=enforcing” 按一 下 i 键,进入编辑模式,修改为 SELINUX=disabled 按 “Esc”, 输入 :wq 回车,然后重启系统 www.linuxidc.com
·设置puty通过密钥登陆 exe点一下您保存好的session,然后点右侧的“Load”,在左侧靠下面点一下“sSH” 前面 “Auth”,看右侧“Private key fefor: 下面的长条框 里目前为空,点一下“Browse”,找到我们刚刚保存好的私钥,点”打开”。此时这个长条 框里就有了私钥的地址,当然您也可以自行编辑这个路径。然后再回到左侧,点一下最上面 的“Session”,在右侧再点一下“Save” ☒PuTTY Configuration ■?X Category: Keyboard Options controlling SSH authentication Bypass authertication entirely (SSH-2ony) Display pre-authentication banner (SSH-2 only) 可emp SSH-) Authentication parameters Allow aoent forwarding Allow atter oted chan es of usemame in SSH-2 Prvate key file for authentication: Browse. -X11 About Help open☐Cancel 。使用密钥验证登陆inuw 保存好后session 点一下右下方的“Open”.出现登陆界面,您会发现和原来的登陆提 示内容有所不同了。 现在不再输入azureuser密码,而是需要输入密钥的密码,如果您先前在生产密钥的时候没 有设置密码,您输入azureuser后会直接登陆系统。 使用WinSCP在windows和Linux中进行文件传输 在本竟前面指供的VinscP下载地址里有个列表,其中有一项Portable executables是绿 不需要安装,推荐使用 下载完成之后打开可执行文件,填写登录信息,选择协议 之后,就可以进行图形化管理了。 www.linuxidc.com
设置 putty 通过密钥登陆 打开 putty.exe 点一下您保存好的 session,然后点右侧的“Load”, 在左侧靠下面点一下“SSH” 前面的 + 然后选择 “Auth”, 看右侧 “Private key file for authentication:” 下面的长条框 里目前为空,点一下 “Browse”, 找到我们刚刚保存好的私钥,点”打开”。此时这个长条 框里就有了私钥的地址,当然您也可以自行编辑这个路径。然后再回到左侧,点一下最上面 的 “Session”, 在右侧再点一下 “Save”. 使用密钥验证登陆 Linux 保存好后 session, 点一下右下方的 “Open”. 出现登陆界面,您会发现和原来的登陆提 示内容有所不同了。 现在不再输入 azureuser 密码,而是需要输入密钥的密码,如果您先前在生产密钥的时候没 有设置密码,您输入 azureuser 后会直接登陆系统。 使用 WinSCP 在 windows 和 Linux 中进行文件传输 在本章前面提供的 WinSCP 下载地址里有个列表,其中有一项 Portable executables 是绿 色版,不需要安装,推荐使用。 下载完成之后打开可执行文件,填写登录信息,选择协议 之后,就可以进行图形化管理了。 www.linuxidc.com