使用SSH登录另外一台机器
#ssh 192.168.0.106
得到如下输出
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
a5:1c:99:1f:fa:d7:1e:76:8b:0a:67:eb:4f:90:24:7a.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:4
RSA host key for 192.168.0.106 has changed and you have requested strict checking.
Host key verification failed.
因为在本地机器上曾经用SSH登录过这台远程计算机(也可能是登录过这个IP为标识的另一台机子),因而留下了known_hosts的记录,在远程计算机重新安装系统后或者是IP变到另一台SSHD主机,所以不能够通过鉴权。删除~/.ssh/known_hosts中对应的项目(上面红色的部分Offending key in /root/.ssh/known_hosts:4,删第四条记录),问题获得解决。
我当时看到这个问题的时候,就上网查,没有仔细看下上面的信息,其实,里面已经告诉我们该怎么做了.
scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。
scp /home/daisy/full.tar.gz
root@192.168.0.106:/home/root
然后会提示你输入另外那台192.168.0.106主机的root用户的登录密码,接着就开始copy了。
如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。
scp
root@192.168.0.106:/home/root /home/daisy/full.tar.gz
注意上面红色的冒号:,我当时不知道怎么表示远程目录,所以上网查,原来加个冒号再跟目录.
因为在linux上用了vsftpd服务,想限定不同登录用户的目录,问张工,张工说vsftpd是用系統用戶登录,所以設置用戶帳戶,就可以達到目的,可用usermod命令,中文幫助在網上查到如下:
功能说明:修改用户帐号。
语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
补充说明:usermod可用来修改用户帐号的各项设定。
参 数:
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s<shell> 修改用户登入后所使用的shell。
-u<uid> 修改用户ID。
-U 解除密码锁定。
在linux啟動時配置网卡:
1、可以把它放在/etc/rc.d/init.d/rc.local文件中
ifconfig eth0 192.168.0.106
route add default gw 192.168.0.1
2、配置网卡的配置文件
创建或修改此文件/etc/sysconfig/network-scripts/ifcfg-eth0#ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.106
NETMASK=255.255.255.0
GATEWAY=192.1689.0.1
昨天晚上看书,linux启动init进程时,init进程调用的是/etc/inittab脚本
我看linux在启动的时候的信息,应该是先调用/etc/rc.d/rc.sysinit脚本,完成后启动init进程.
在启动过程中,可以按ctrl+c中断系统的启动,提前进入LOGIN.这是我老板教的.而且要看启动信息,要知道系统完成你所要求有的初始化任务后,再按ctrl+c,不然,你做不了想做的事.
比如,我们在/etc/rc.d/rc.sysinit中加入了我们自已的应用程序,在/etc/inittab中把启动模式改成single(单用户模式,免LOGIN),这样系统起动后,就会运行我们自已的程序,问题是运行我们的程序后,我们无法中止他,所有如果要修改我们程序的东西,就不好做了,现在的做法是在系统还没有启动我们的程序前,按ctrl+c,提前进入bash
刚开始,我们这样做了,但是进去后,系统是只读方式(后来知道我几次都是在mounting root file system in read mode后进去的),我不知问题出在哪里,老板自已重启来看,突然说,他知道怎么弄了,原来是要到
Remounting root file system in read-write mode
时,再按ctrl+c
我才知道,看启动信息好重要.在linux中,出现问题了,要在出现问题点最近的地方找答案(我觉得这句话我说的好经典,西西)
在linux不同的运行等级中切换:
#init run-level
run-level的英文解释:
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode(text)
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
将上面翻译过来就是:
# 0 - 停机(千万不能把initdefault 设置为0 )
# 1 - 单用户模式
# 2 - 多用户,没有 NFS (没有网络)
# 3 - 完全多用户模式(标准的运行级,实际上就是text模式)
# 4 - 没有用到
# 5 - X11 (xwindow)
# 6 - 重新启动