本文部分内容转载于:http://www.linuxidc.com/Linux/2011-10/45739.htm
本文使用的ubuntu 12004 LTS,32位。
所谓特权分离(Privilege Separation)实际上是一种 OpenSSH 的安全机制,使用此特性的关键之处在于设置一个空目录,并将
此目录的权限设置为"000",宿主设置为"root"。然后还需要设置一个用于特权分离的非特权用户,比如sshd,并将此用户的家
目录设置为这个空目录。
相关步骤如下:
mkdir -p /var/empty #设置一个空目录
chown 0:0 /var/empty #所有者和组,0代表"root"
chmod 000 /var/empty #目录权限设置为"000"
groupadd sshd #建立sshd组
useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd #用于特权分离的非特权用户"sshd"
安装ssh前需要安装zlib和openssl。
tar -zxf openssh-6.6p1.tar.gz
cd openssh-6.6p1/
./configure --prefix=/usr/local/openssh-6.6 --with-zlib=/usr/local/zlib-1.2.8 --with-ssl-dir=/usr/local/openssl-1.0.1
--sysconfdir=/etc/ssh --with-md5-passwords --mandir=/usr/share/man --with-privsep-path=/var/empty --with-privsep-user=sshd
--with-ssl-engine --with-md5-passwords --disable-etc-default-login
make
make install
有两种方法进行开机自启动
1.systemV的启动方式:
在/etc/rc.local中exit 0 前添加如下语句:
/usr/local/openssh-6.6/sbin/sshd
2.upstart的启动方式:
在/etc/init目录下新建sshd.conf文件,内容为:
description "ssh server"
author "yanwenjie"
start on runlevel [2345]
stop on shutdown
respawn
exec /usr/local/openssh-6.6/sbin/sshd
有机器A,B。现想A通过ssh免密码登录到B。
1.在A机下生成公钥/私钥对。
ssh-keygen -t rsa
2.把A机下的id_rsa.pub复制到B机下,B机把从A机复制的id_rsa.pub添加到.ssh/authorzied_keys文件里。如果其他机器
也想要免密码登录B,可以添加到.ssh/authorzied_keys文件末尾。
cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
3.在A机器上运行ssh username@b's IP,免用户直接登录,但是要保证b机器上有username用户。