有两台服务器一台服务器A,IP地址192.168.1.2,另一台服务器B,IP地址192.168.1.3。
如果想从A服务器使用root用户登陆B服务器,只需要在A服务器上执行:/usr/bin/ssh root@192.168.1.3,提示输入正确的密码后可以顺利登陆B服务器。
但是,有时两台服务器之间登陆不需要密码,比如执行计划任务SCP远程拷贝文件不能有密码确认,这样可以使用密钥进行登陆验证。
可以直接将前面生成的id_rsa拷贝到客户端服务器并将权限设置为600即可。
另外一种方式分享。
在A服务器上执行命令:/usr/bin/ssh-keygen -t rsa,出现提示一直按回车即可。
然后,再从A服务器上执行:
/usr/bin/ssh-copy-id -i /root/.ssh/id_rsa root@192.168.1.3
会提示输入密码,输入B服务器的密码回车即可。
这时再在A服务器上执行
/usr/bin/ssh root@192.168.1.3
不需要输入密码即可成功登陆。
在linux系统的环境下,不管是root用户还是其它的用户,登录后的所有操作,均可通过命令history来查看历史记录。
不过,对于一台机器多人登陆,通过查看历史记录(命令:history)则意义不大。
如何才能实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢。
可以通过在/etc/profile里面加入以下代码实现:
history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` #print $NF取最后一个域的字段
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/dbasky ]
then
mkdir /tmp/dbasky
chmod 777 /tmp/dbasky
fi
if [ ! -d /tmp/dbasky/${LOGNAME} ]
then
mkdir /tmp/dbasky/${LOGNAME}
chmod 300 /tmp/dbasky/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date " %Y%m%d_%H%M%S"`
export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"
chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null
在系统的/tmp新建个dbasky目录,在目录中记录了所有的登陆过系统的用户和IP地址。
还可以用这个方法来监测系统的安全性。
还可以编辑/etc/bashrc文件,增加history命令的时间显示,加入以下内容:
HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT=”%Y%m%d-%H%M%S: ”
export HISTTIMEFORMAT
保存后退出,关闭当前shell,并重新登录,此时在~/.bash_History文件中,就会保存命令执行的时间了。
在linux系统中,一般情况,只需开启两个tty终端,没有必要开启多余的tty进程,以减少tty进程对系统资源的开销。
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 1636 0.0 0.0 4056 552 tty2 Ss+ 09:07 0:00 /sbin/mingetty /dev/tty2
root 1638 0.0 0.0 4056 548 tty3 Ss+ 09:07 0:00 /sbin/mingetty /dev/tty3
root 1640 0.0 0.0 4056 548 tty4 Ss+ 09:07 0:00 /sbin/mingetty /dev/tty4
root 1642 0.0 0.0 4056 552 tty5 Ss+ 09:07 0:00 /sbin/mingetty /dev/tty5
root 1648 0.0 0.0 4056 552 tty6 Ss+ 09:07 0:00 /sbin/mingetty /dev/tty6
root 1723 0.0 0.1 108328 1776 tty1 Ss+ 09:07 0:00 -bash
root 2344 0.0 0.0 103244 840 pts/0 S+ 10:29 0:00 grep tty
[root@nginx etc]# vi /etc/init/start-ttys.conf
start on stopped rc RUNLEVEL=[2345]
env ACTIVE_CONSOLES=/dev/tty[1-2] #将tty[1-6]修改为[1-2]
env X_TTY=/dev/tty1
task
script
. /etc/sysconfig/init
for tty in $(echo $ACTIVE_CONSOLES) ; do
[ "$RUNLEVEL" = "5" -a "$tty" = "$X_TTY" ] && continue
initctl start tty TTY=$tty
done
end script
[root@nginx etc]# vi /etc/sysconfig/init
ACTIVE_CONSOLES=/dev/tty[1-2] #将tty[1-6]修改为[1-2]
# Set to '/sbin/sulogin' to prompt for password on single-user mode
# Set to '/sbin/sushell' otherwise
SINGLE=/sbin/sushell
修改以上配置文件需重启系统生效,如果要临时停止tty终端,可使用 如:initctl stop tty TTY=/dev/tty6 [停止tty6]。
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 1636 0.0 0.0 4056 552 tty2 Ss+ 09:07 0:00 /sbin/mingetty /dev/tty2
root 1638 0.0 0.0 4056 548 tty3 Ss+ 09:07 0:00 /sbin/mingetty /dev/tty3
root 1640 0.0 0.0 4056 548 tty4 Ss+ 09:07 0:00 /sbin/mingetty /dev/tty4
root 1642 0.0 0.0 4056 552 tty5 Ss+ 09:07 0:00 /sbin/mingetty /dev/tty5
root 1723 0.0 0.1 108328 1776 tty1 Ss+ 09:07 0:00 -bash
root 2358 0.0 0.0 103244 844 pts/0 S+ 10:31 0:00 grep tty