文档已经过浓缩,并在企业中可以直接使用的。

SSH企业应用配置实例

3.1 通过口令认证

要求:远程ssh登录,不允许使用root直接登录,指定用户可以远程登录,并可以使用su切到root用户。

#指定用户sudo

#新建用户

useradd xiaojiang

passwd xiaojiang

#加入wheel组

usermod -G wheel xiaojiang

#编辑pam中su的配置

vi /etc/pam.d/su

去掉这行的注释:auth required pam_wheel.so use_uid

#配置密码策略

vi /etc/login.defs

#最后加上:

SU_WHEEL_ONLY yes

#禁止root的远程登录

vi /etc/ssh/sshd_config

PermitRootLogin no

#重启sshd

service sshd restart


#只允许指定主机连接,建议内网时可以,一般不建议

vi /etc/hosts.allow

sshd:192.168.0.0/24 210.116.123.118


vi /etc/hosts.deny

sshd:ALL


#修改端口,禁止root,只允许指定用户登录

vi /etc/ssh/sshd_config

Port 13232

PermitRootLogin no


最后增加如下代码,多个用户使用空格分开:

AllowUsers xiaojiang onbing


允许通过防火墙,具体设置见文档。


3.2 通过公钥私钥认证

3.2.1生成公钥和私钥

这里以用户xiaojiang为例,

#登录为一般用户xiaojiang

su - centospub

#建立公钥与私钥

ssh-keygen -t rsa

注意,提示钥匙的文件名,这里保持默认直接回车,输入口令

#确认刚生成的公钥与密钥

ll -l ~/.ssh

默认在 ~/.ssh目录生成两个文件:私钥id_rsa;公钥id_rsa.pub

#公钥内容输出到相应文件中

cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

#删除原来的公钥文件

rm -f ~/.ssh/id_rsa.pub

#将新建立的公钥文件属性设置为400

chmod 400 ~/.ssh/authorized_keys

3.2.2导入到要免密码登录的服务器

#将公钥复制到服务器

scp ~/.ssh/id_rsa.pubxxx@host:/home/xxx/id_rsa.pub

#将公钥导入到认证文件

cat ~/id_rsa.pub >>~/.ssh/authorized_keys

#更改权限

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys  

3.2.3测试ssh

ssh host,第一次登录可能需要yes确认,之后就可以直接登录了。