linux系统工程师面试题.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流linux系统工程师面试题.精品文档.linux系统工程师面试题第一套1.查看Linux系统当前单个共享内存段的最大值(命令)ipcs -mipcs -a2.用什么命令查询指定IP地址的服务器端口题意应该是 nmap 和nbtscan 命令来扫吧。3.crontab中用什么命令定义某个程序执行的优先级别nice/renice:进程执行优先级概念:进程优先级:系统按进程优先级的不同分配CPU时间,优先级高的进程会得到更多的CPU使用时间,以提高速度,缩短总的执行时间。进程优先级范围:-20至19最高等级:-20最低等级:19系统管理员有权将进程优先级设置为-1至-20,而普通用户只能设置0至19。进程运行的默认等级为0。用nice执行的进程其默认等级为10(即nice <程序名>,不指定等级时)。格式:nice <程序名>nice -<等级> <程序名>如:(命令后加&表示以后台运行)vi & 优先等级0,默认等级。nice vi & 优先等级10,使用nice执行程序时的默认等级。nice -50 vi & 优先等级19,-号表示选项,等级50超过最低等级19,因此系统以等级19执行。nice -18 vi & 优先等级18。nice -50 vi & 优先等级-20,选项值为-50,超过最高等级-20,因此系统以等级-20执行。nice -18 vi & 优先等级-18。通过ps -l可查看以上命令的执行情况(注意查看各vi进程NI值的不同)。重新调整正在执行的进程的优先级:调整指定PID进程的等级renice <等级> <PID>注意:<等级>是参数,不是选项,没有前缀-号。调整指定用户的所有进程的等级renice <等级> <用户名1> <用户名2> .调整指定组的所有用户的所有进程的等级renice <等级> -g <组名1>4.如何让history命令显示具体时间HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "expect HISTTIMEFORMAT重新开机后会还原,可以写etcprofile5.查看Linux系统当前指定用户的邮件队列mailq 命令打印两种类型的列表:mailq 命令列出如下所示的邮件队列:Mail Queue(1 request)-QID- -Size- -Q-Time- -Sender/Recipient-AA02508 3 Thu Dec 17 10:01 root(User unknown)bad_usermailq -v 命令列出如下所示的邮件队列:Mail Queue (1 request)-QID- -Size- -Priority- -Q-Time- -Sender/Recipient-AA02508 3 1005 Dec 17 10:01 root(User unknown)bad_user6.查看Linux系统当前加载的库文件lsof7.Ext3文件系统如何恢复RM命令删除文件(1).Ext3文件系统结构的简单介绍在 Linux所用的Ext3文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分。每个文件还有一个节点,节点中包含有文件所有者,读写权限,文件类型等信息。对于一个小于12个块的文件,在节点中直接存储文件数据块的块号。如果文件大于12个块,那么节点在12个块号之后存储一个间接块的块号,在这个间接块号所对应的块中,存储有256个文件数据块的块号(Ext2fs中每个块号占用4字节,这样一个块中所能存储的块号就是1024/4=256)。如果有更大的文件,那么还会在节点中出现二级间接块和三级间接块。(2).恢复被误删文件的方法大多数Linux发行版都提供一个debugfs工具,可以用来对Ext3文件系统进行编辑操作。不过在使用这个工具之前,还有一些工作要做。首先以只读方式重新挂载被误删的文件所在分区。使用如下命令:(假设文件在/usr分区)mount -r -n -o remount /usr-r表示只读方式挂载;-n表示不写入/etc/mtab,如果是恢复/etc上的文件,就加上这个参数。如果系统说xxx partion busy,可以用fuser命令查看一下是哪些进程使用这个分区上的文件:fuser -v -m /usr如果没有什么重要的进程,用以下命令停掉它们:fuser -k -v -m /usr然后就可以重新挂载这些文件系统了。如 果是把所有的文件统一安装在一个大的/分区当中,可以在boot提示符下用linux single进入单用户模式,尽量减少系统进程向硬盘写入数据的机会,要不干脆把硬盘挂在别的机器上。另外,恢复出来的数据不要写到/上面,避免破坏那些有用的数据。如果机器上有dos/windows,可以写到这些分区上面:mount -r -n /dev/hda1 /mnt/had然后就可以执行debugfs:(假设Linux在 /dev/hda5)#debugfs /dev/hda5就会出现debugfs提示符debugfs:使用lsdel命令可以列出很多被删除的文件的信息:debugfs:lsdeldebugfs: 2692 deleted inodes found.Inode Owner Mode Size Blocks Time deleted164821 0 100600 8192 1/ 1 Sun May 13 19:22:46 200136137 0 100644 4 1/ 1 Tue Apr 24 10:11:15 2001196829 0 100644 149500 38/ 38 Mon May 27 13:52:04 2001debugfs:列出的文件有很多(这里找到2692个),第一字段是文件节点号,第二字段是文件所有者,第三字段是读写权限,接下来是文件大小,占用块数,删除时间。然后就可以根据文件大小和删除日期判断那些是我们需要的。比如我们要恢复节点是196829的文件:可以先看看文件数据状态:debugfs:statInode: 196829 Type: regular Mode: 0644 Flags: 0x0 Version: 1User: 0 Group: 0 Size: 149500File ACL: 0 Directory ACL: 0Links: 0 Blockcount: 38Fragment: Address: 0 Number: 0 Size: 0ctime: 0x31a9a574 - Mon May 27 13:52:04 2001atime: 0x31a21dd1 - Tue May 21 20:47:29 2001mtime: 0x313bf4d7 - Tue Mar 5 08:01:27 2001dtime: 0x31a9a574 - Mon May 27 13:52:04 2001BLOCKS:594810 594811 594814 594815 594816 594817 .TOTAL: 38然后就可以用dump指令恢复文件:debugfs:dump /mnt/hda/01.sav这样就把文件恢复出来了。退出debugfs:debugfs:quit另一种方法是手工编辑inode:debugfs:miMode 0100644User ID 0Group ID 0Size 149500Creation time 0x31a9a574Modification time 0x31a9a574Access time 0x31a21dd1Deletion time 0x31a9a574 0Link count 0 1Block count 38File flags 0x0Reserved1 0File acl 0Directory acl 0Fragment address 0Fragment number 0Fragment size 0Direct Block #0 594810.Triple Indirect Block 0使用mi指令后每次显示一行信息以供编辑,其它行可以直接按回车表示确认,把deletion time改成0(未删除),Link count改成1。改好后退出debugfs:debugfs:quit然后用fsck检查/dev/hda5fsck /dev/hda5程序会说找到丢失的数据块,放在lost+found里面。8.查看当前系统某一硬件的驱动版本。比如网卡dmidecode9.DNS服务器有哪三种类型主 从 缓存10.apache目录访问身份验证的实施步骤(用htpasswd设置)htpasswd -c /目录 useralias /目录11.使用tcpdump监听主机IP为192.168.1.1,tcp端口为80的数据,写出相应命令tcpdump tcp port 80 host 192.168.1.112.简述IDS作用和实现原理入侵检测,设备放在intelnet进来的第一台路由后面。对进入路由的所有的包进行检测,如果有异常就报警。13.用sed修改test.txt的23行test为tset;sed 23s/test/tset/g test.txt第二套1.如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0:答:#iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp dport 80 -j DNAT to 192.168.16.1:8080或者:#iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp dport 80 -j REDIRECT to-ports 80802.什么是NAT,常见分为那几种,DNAT与SNAT有什么不同,应用事例有那些?3.包过滤防火墙与代理应用防火墙有什么区别,能列举几种相应的产品吗?4.iptables是否支持time时间控制用户行为,如有请写出具体操作步骤5.说出你知道的几种linux/unix发行版本6.列出linux常见打包工具并写相应解压缩参数(至少三种)7.计划每星期天早8点服务器定时重启,如何实现?8.列出作为完整邮件系统的软件,至少二类9,当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注:本机跟本地dns还没有缓存。答: a.用户输入网址到浏览器b.浏览器发出DNS请求信息c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果,e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果f.返回IP结果给浏览器g.浏览器根据IP信息,获取页面10,我们都知道,dns既采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么时候采用udp协议?为什么要这么设计?答:这个题需要理解的东西比较的多,分一下几个方面a,从数据包大小上分:UDP的最大包长度是65507个字节,响应dns查询的时候数据包长度超过512个字节,而返回的只要前512个字节,这时名字解释器通常使用TCP从发原来的请求。b,从协议本身来分:大部分的情况下使用UDP协议,大家都知道UDP协议是一种不可靠的协议,dns不像其它的使用UDP的Internet应用(如:TFTP,BOOTP和SNMP等),大部分集中在局域网,dns查询和响应需要经过广域网,分组丢失和往返时间的不确定性在广域网比局域网上更大,这就要求dns客户端需要好的重传和超时算法,这时候使用TCP11,一个EXT3的文件分区,当使用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况,说说你的理由。答:两种情况,一种是磁盘配额问题,另外一种就是EXT3文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode耗尽了。12,我们都知道FTP协议有两种工作模式,说说它们的大概的一个工作流程?FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORTN+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。13.编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下 1. #/bin/sh 2. #Programm : 3. # Using for move currently directory to /tmp 4. for FileName in ls -l |awk $5>10240 print $9 5. do 6. mv $FileName /tmp 7. done 8. ls -al /tmp 9. echo “Done! “复制代码14.apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时候加参数with-mpm-worker选择工作模式)prefork的特点是:(预派生)1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销2.可以防止意外的内存泄漏3.在服务器负载下降的时候会自动减少子进程数(prefork的详细原理可以看我的博客另外一篇文章apache的性能优化)worker的特点是:支持混合的多线程多进程的多路处理模块如果对于一个高流量的HTTP服务器,worker MPM是一个比较好的选择,因为worker MPM占用的内存要比prefork要小。15.名词解释 HDLC,VTP,OSPF,RIP,DDOS,system V,GNU,netscreen,ssh,smartd,apache,WAIT_TIME 等等16.编写shell脚本获取本机的网络地址。比如:本机的ip地址是:192.168.100.2/255.255.255.0,那么它的网络地址是192.168.100.1/255.255.255.0方法一: 1. #!/bin/bash 2. #This script print ip and network 3. file=”/etc/sysconfig/network-scripts/ifcfg-eth0 4. if -f $file ;then 5. IP=grep “IPADDR” $file|awk -F”=” print $2 6. MASK=grep “NETMASK” $file|awk -F”=” print $2 7. echo “$IP/$MASK” 8. exit 1 9. fi复制代码方法二: 1. #!/bin/bash 2. #This programm will printf ip/network 3. # 4. IP=ifconfig eth0 |grep inet |sed s/.*addr:/g|sed s/ Bcast.*$/g 5. NETMASK=ifconfig eth0 |grep inet |sed s/.*Mask:/g 6. echo “$IP/$NETMASK” 7. exit复制代码17.在命令行下发一邮件,发件人:123,收信人:abc二简述题:1.linux下如何改IP,主机名,DNS2.linux下如何添加路由3.简述linux下编译内核的意义与步骤4.简述Linux启动过程5.简述DDOS攻击的原理6.简述Tcp三次握手的过程7.简述VPN,常见有哪几种?8.三:设计题:1.系统设计请考虑以下系统的设计. 您可以翻阅资料,查询任何您有帮助的资料、指南等。您有的资源:8台安装Linux (2.6内核) 的双网卡PC服务器以及相关开源软件,交换机Apache 2.2.xTomcat 5.5.X数据库系统最多8个Internet IP地址,请您设计一个系统:1、使用双apache web server前端;2、采用AJP连接后段的台Tomcat应用服务器,这些tomcat被配置成cluster, 因此需要考虑apache对后端的分配,分配采用完全平衡的方法;配置使用cookie来实现session stickness;3、台数据库服务器只有tomcat才需要连接,也不需要对Internet提供服务。4、考虑系统的安全性和维护方便性;5、通过rewrite规则配置把下属URL规则改写成友好的URLhttp:/server/webapp/getinfo?id=XXXX&name=YYYY > http:/server/getinfo/YYYY/XXXX您需要提交1、服务器规划,包括:网络结构图每台机器的IP地址分配每台机器上运行的关键软件您从安全性和维护性方面的考虑2、Apache的以下配置文件给我们:extra/http-proxy-ajp.confextra/http-rewrite.conf2.你可以采取任何设备和不同操作系统服务器设计对两台WWW服务器和两台FTP服务器做负载均衡,用网络拓扑图表示并加以说明!(方法越多越好)这个面试已经过了快一个月了,前段时间没有发上来,今天稍微整理了以下发上来了。本来是想写感想那,但是从小学开始语文都不好。也不知道从那里写起。呵呵!这家公司挺大的,听别人说和sina一个级别的。具体的就在这里不说出来了。我从哪里面试出来之后我就想这是面试的SA,好像不是项目经理吧,外企就是不一样啊!还有就是他在问了问题之后,我答完之后就接着下一个,中间没有任何什么其他的话,脸上也没有表情。面试完之后完回到家里靠自己的记忆记下了面试中的16道面试题。发给朋友看看,他们有的说变态,有的说这好像不是SA面试题吧。汗还是自己的能力不行啊。第三套1、在同一个网站中,当客户访问的时候,会出现有的页面访问的速度快而有的慢,系统和服务完全正常、网络带宽正常。这是那里出现问题了那?2、你以前做过的项目中,单台服务器的最大并发量是多少?说下你硬件的配置?3、你以前在工作中遇到的,一个困难的技术问题是什么,最后怎么解决的 ?4、你说下你技术的强项和不足?5、在一个系统架构中,我们为了避免单点故障,会怎么做?6、apache2.x版本中两个不同的运行模式是什么,有什么不同?7、如果给你很多台服务器,你该怎么去管理?8、如果给你一个100人的团队你怎么带好他们?8、如何优化linux系统,说出命令和相应的回值?9、怎么查看一个服务器运行正常?10、为什么有些公司会把自己的系统项目外包出去,而自己不招自己系统工程师,说说自己 的看法?11、如果一个web服务器出现问题,你会怎么做?12、如何添加一个apache的rewirte模块,rewirte模块的原理是什么?13、你以前所在的公司接到项目的时候,人员是如何人分配的? 14、你们给客户所做的项目,怎么保证客户系统的安全?15、你们为客户提供什么样的后期服务?16、相对web服务来说,你们怎么知道当时客户的系统已经不能满足需求,当不能满足需求的时候,你们就用什么解决?以上就是我能记得的面试题了,还有几个记不起来了。真是一个比一个各色。面对这么各色的面试题,你能答出来多少?看完这个之后希望大家能把自己能打答出来的写下来!第四套1,编写shell脚本获取本机的网络地址。比如:本机的ip地址是:192.168.100.2/255.255.255.0,那么它的网络地址是192.168.100.1/255.255.255.02,当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注:本机跟本地dns还没有缓存。3,我们都知道,dns既采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么时候采用udp协议?为什么要这么设计?4,一个EXT3的文件分区,当使用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况,说说你的理由。5,我们都知道FTP协议有两种工作模式,说说它们的大概的一个工作流程?1,#!/bin/sh LAN=eth0 LOCALNET_MASK=ifconfig $LAN|sed -e 's/.*Mask:( *)$/1/p' -e d LOCALNET_ADDR=netstat -rn|grep $LAN|grep $LOCALNET_MASK|cut -f1 -d' ' LOCALNET=$LOCALNET_ADDR/$LOCALNET_MASK2,a.用户输入网址到浏览器 b.浏览器发出DNS请求信息 c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步 d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果, e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果 f.返回IP结果给浏览器 g.浏览器根据IP信息,获取页面3,这个题需要理解的东西比较的多,分一下几个方面 a,从数据包大小上分:UDP的最大包长度是65507个字节,响应dns查询的时候数据包长度超过512个字节,而返回的只要前512个字节,这时名字解释器通常使用TCP从发原来的请求。 b,从协议本身来分:大部分的情况下使用UDP协议,大家都知道UDP协议是一种不可靠的协议,dns不像其它的使用UDP的Internet应用 (如:TFTP,BOOTP和SNMP等),大部分集中在局域网,dns查询和响应需要经过广域网,分组丢失和往返时间的不确定性在广域网比局域网上更大,这就要求dns客户端需要好的重传和超时算法,这时候使用TCP4,两种情况,一种是磁盘配额问题,另外一种就是EXT3文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode耗尽了。5,FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。第五套1.假设Apache产生的日志文件名为access_log,在apache正在运行时,执行命令mvaccess_log access_log.bak,执行完后,请问新的apache的日志会打印到哪里,为什么?1、新的日志会打印在access_log.bak中,因为apache启动时会找到access_log文件,随时准备向文件中加入日志信息, 虽然此时文件被改名,但是由于服务正在运行,因为它的inode节点的位置没有变,程序打开的fd仍然会指向原来那个inode, 不会因为文件名的改变而改变。apache会继续向已改名的文件中追加日志,但是若重启apache服务,系统会检查access_log 文件是否存在,若不存在则创建。2.在Shell环境下,如何查看远程Linux系统运行了多少时间?2、监控主机执行: ssh user被监控主机ip "uptime" 这样得到了被监控主机的uptime3.处理以下文件内容,将域名取出并进行计数排序,如处理:得到如下结果:域名的出现的次数 域名3 2 1 可以使用bash/perl/php/c任意一种3、rootlocalhost shell# cat file | sed -e ' s/http:/' -e ' s/.*/' | sort | uniq -c | sort -rn 3 2 1 rootcodfei4 shell# awk -F/ 'print $3' file |sort -r|uniq -c|awk 'print $1"t",$2'3 2 1 4.如果得到随机的字串,长度和字串中出现的字符表可定义,并将字串倒序显示,如把0123456789作为基准的字串字符表,产生一个6位的字串642031,打印出的字串为130246,可使用bash/perl/php/c任意一种.4、 rootlocalhost # awk -v count=6 'BEGIN srand();str="0123456789"len=length(str);for(i=count;i>0;i-) marry=substr(str,int(rand()*len),1);for(i=count;i>0;i-) printf("%c",marry);printf("n");for(i=0;i<=count;i+) printf("%c",marry);printf("n")'8387055078385.如何查看当前Linux系统的状态,如CPU使用,内存使用,负载情况等.5、Linux系统中“/proc”是个伪文件目录,不占用系统空间,及时的反应出内存现在使用的进程情况.其中许多文件都保存系统运行状态和相关信息对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:cpuinfo 主机CPU信息filesystems 文件系统信息meninfo 主机内存信息version Linux内存版本信息diskstatus 磁盘负载情况另外top命令可以动态的显示当前系统进程用户的使用情况,而且是动态的显示出来,尤其是在该命令显示出来的对上方对系统的情况进行汇总.free命令呢可以查看真实使用的内存 一般用free -m使用lsof 、ps -aux 可以查看详细的每个进程的使用状况dmesg 也是常用来查看系统性能的命令#题目:有10台被监控主机、一台监控机,在监控机上编写脚本,一旦某台被监控机器/分区适用率大于80%,就发邮件报警放到crontab里面, 每10分钟检查一次#测试机器:虚拟机Linux as 4#1.首先建立服务器间的信任关系。拿两台机器做测试本机ip:192.168.1.6rootcodfei # ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):/root/.ssh/id_rsa already exists.Overwrite (y/n)? y (以为我是第2次建立关系所以此处覆盖原来的文件)Enter passphrase (empty for no passphrase):(直接回车无须输入密钥)Enter same passphrase again:Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:04:37:13:2a:4b:10:af:c1:2b:03:3f:6b:27:ce:b9:62 rootcodfeirootcodfei # cd .ssh/rootcodfei .ssh# ll-rw- 1 root root 883 Apr 25 17:51 id_rsa-rw-r-r- 1 root root 221 Apr 25 17:51 id_rsa.pub-rw-r-r- 1 root root 442 Apr 25 17:37 known_hostsid_rsa是密钥文件,id_rsa.pub是公钥文件。rootcodfei .ssh# scp id_rsa.pub192.168.1.4:/root/.ssh/192.168.1.6root192.168.1.4's password:id_rsa.pub 100% 221 0.2KB/s 00:00这里把公钥文件取名为本机的ip地址就是为了以后和更多的机器建立信任关系不发生混淆。现在登陆到192.168.1.4机器rootcodfei # cd .ssh/rootcodfei .ssh# cat 192.168.1.6 >> authorized_keys然后回到192.168.1.6机器直接rootcodfei .ssh# ssh 192.168.1.4Last login: Wed Aug 8 12:14:42 2007 from 192.168.1.6这样就可以了,里面偶尔涉及到权限问题。一般./ssh文件夹是755 authorized_keys为600或者644#脚本如下#!/bin/bash #SCRIPT:df_check.sh #Writeen by codfei Mon Sep 3 07:25:28 CS