linux服务器面临问题,开发团队多人管理,为了安全起见,不能把密码告诉每一个人,通过ssh密钥登陆是一种不错的解决方案,既可以让其登陆,也可以
限制其权限,不能用su/sudo超级命令
给每个人创建一个用户的方案,这里赞不考虑
服务器如何配置来实现呢?
1.登陆到linux服务器,ssh root@ip
2.然后创建公钥文件存放位置并设置权限
mkdir /root/.ssh
chmod 700 /root/.ssh
3.编辑授权的ssh key,把用户生成的ssh key 公钥复制到这里即可
vi /root/.ssh/authorized_keys
4.重启ssh服务
sudo service ssh restart
用户端需要的就是生成这个ssh key,怎么生成呢?
linux 系统 :ssh-keygen -b 2048 -t rsa
直接回车3次
key文件会保存在/root/.ssh目录下
这时候.ssh目下会多出几个文件
id_rsa 私钥文件
id_rsa.pub 公钥文件,这个文件里的内容要放到其它主机里面去。
查看 id_rsa.pub 文件
cat /roor/.ssh/id_rsa.pub
配置用户的公钥登陆时,配置完authorized_keys居然一直不生效,于是google之,发现原来是因为.ssh目录和下面文件的权限问题导致的,因为目录的权限已经超过了sshd的要求权限。
如果希望ssh公钥生效需满足至少下面两个条件:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
远程登陆不要密码,使用authorized_keys不生效的解决方法
window 系统:
参考http://www.oschina.net/question/54100_10489
把生成的公钥放在linux服务器/root/.ssh/authorized_keys 文件里面即可
这里介绍增加连接数量
系统 linux,增加SSH终端连接数最大为1000个
解决方案:
vi /etc/ssh/sshd_config
输入/MaxStartups 定位到如下并修改
1) #MaxStartups 10,#去掉,修改10为1000,MaxStartups 1000
2) 重启SSH服务,/etc/rc.d/init.d/sshd restart
查看某端口连接数
netstat -nat|grep -i ‘22’ |wc -l