文档已经过浓缩,并在企业中可以直接使用的。
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确认,之后就可以直接登录了。