大多数情况下,在使用Linux操作系统时,都是用一些第三方的工具来操作。如SecureCRT,SSH Secure Shell Client,Putty,Xmanger等。这些工具最常见的连接类型有Telnet、SSH等,有时为了安全考虑,需要禁止或限制用户使用SSH,
如禁止服务器上的root、及其它用户用SSH登录;限定只允许指定的IP登陆SSH,设置免密码登陆等等,这时就要修改SSH的配置了。
对登陆用户的限制
编辑SSH服务的配置文件
修改此行内容,用以禁止 Root 用户使用SSH登陆
加入以下内容,只允许后面的用户和用户组使用SSH登陆
加入以下内容,只禁止后面的用户和用户组使用SSH登陆,
allow/deny 指令按照下列顺序处理: DenyUsers, AllowUsers, DenyGroups, AllowGroups
修改完配置文件,必须重新启动SSH服务才能生效
对登陆IP的限制
修改配置文件
加入以下内容,用以设置允许登陆的IP
修改配置文件
加入以下内容,用以拒绝所IP登陆
完成上面两个步骤后,我们禁止所有IP,但是允许相关IP登录。
用证书登录
1.生成公私密钥
2.在服务端注册公钥
3.在服务端开启证书认证,并关闭密码方式登陆
编辑sshd-config文件,修改以下内容
4.客户端通过私钥登陆ssh服务器
sshd_config文件的其他配置
#Port 22
对登陆用户的限制
编辑SSH服务的配置文件
- #vim /etc/ssh/sshd_config
- #PermitRootLogin yes 把#号去掉,yes修改为no即可,
- AllowUsers username
- AllowGroups groupname
- DenyUsers username
- DenyGroups groupname
修改完配置文件,必须重新启动SSH服务才能生效
- #/etc/init.d/sshd restart
对登陆IP的限制
修改配置文件
- #vim /etc/hosts.allow
- sshd:192.168.1.100:allow
- #vim /etc/hosts.deny
- sshd:ALL
用证书登录
1.生成公私密钥
- ssh-keygen -t rsa -f /root/.ssh/id_rsa 密钥类型由SSH协议决定,SSH1只能使用RSA加密方式,SSH2支持RSA和DSA算法
- vim /root/.ssh/authorized_keys 在服务器上编辑此文件,复制公钥内容到文件
编辑sshd-config文件,修改以下内容
- PubkeyAuthentication yes
- AuthorizedKeysFile .ssh/authorized_keys
- RSAAuthentication yes
- PasswordAuthentication no
- ssh -i /root/.ssh/id_rsa root@<ssh_server_ip> -p port 可在/etc/ssh/ssh_config中设置私钥的路径IdentityFile ~/.ssh/id_rsa ,这样就可以不用每次登陆都指定路径
sshd_config文件的其他配置
#Port 22
修改端口
Protocol 2
AllowTcpForwarding
是否允许TCP转发,默认值为"yes"。禁止TCP转发并不能增强安全性,除非禁止了用户对shell的访问,因为用户可以安装他们自己的转发器。
AllowUsers
后面跟着一串用空格分隔的用户名列表(其中可以使用"*"和"?"通配符)。默认允许所有用户登录。如果使用了这个指令,那么将仅允许这些用户登录,而拒绝其它所有用户。
#ClientAliveInterval 0
超时断开,每多少秒向客户端请求消息,默认是0不发送。
#ClientAliveCountMax 3
PubkeyAuthentication yes
启用公私密钥配对认证方式,仅可以用于SSH-2
AuthorizedKeysFile .ssh/authorized_keys
设定PublicKey文件路径,若有多个公钥,直接在后面追加
RSAAuthentication yes
允许RSA密钥
PasswordAuthentication no
有了证书登录了,就禁用密码登录吧
Banner
将这个指令指定的文件中的内容在用户进行认证前显示给远程用户。 这个特性仅能用于SSH-2,默认什么内容也不显示。"none"表示禁用这个特性。
AcceptEnv
指定客户端发送的哪些环境变量将会被传递到会话环境中。只有SSH-2协议支持环境变量的传递,指令的值是空格分隔的变量名列表(可用'*'和'?'作为通配符)。也可用多个 AcceptEnv 。细节参考 ssh_config(5) 中的 SendEnv 配置指令。
Ciphers
指定SSH-2允许使用的加密算法。多个算法之间使用逗号分隔。可以使用的算法如下: "aes128-cbc", "aes192-cbc", "aes256-cbc", "aes128-ctr", "aes192-ctr", "aes256-ctr", "3des-cbc", "arcfour128", "arcfour256", "arcfour", "blowfish-cbc", "cast128-cbc" 默认值是可以使用上述所有算法。
Protocol 2
选择ssh协议版本
AddressFamily
指定sshd(8) 应当使用哪种地址族。取值范围是:"any"(默认)、"inet"(仅IPv4)、"inet6"(仅IPv6)。
ListenAddress
指定sshd(8) 监听的网络地址,默认监听所有地址。可以使用多个 ListenAddress 监听多个地址。格式如ListenAddress host|IPv4_addr:port
#LogLevel INFO
AddressFamily
指定sshd(8) 应当使用哪种地址族。取值范围是:"any"(默认)、"inet"(仅IPv4)、"inet6"(仅IPv6)。
ListenAddress
指定sshd(8) 监听的网络地址,默认监听所有地址。可以使用多个 ListenAddress 监听多个地址。格式如ListenAddress host|IPv4_addr:port
#LogLevel INFO
设置日志等级,INFO为默认级别
#LoginGraceTime 2m
#LoginGraceTime 2m
限制用户必须在指定的时限内认证成功,0 表示无限制。默认值是 120 秒。
AllowGroups
后面跟着一串用空格分隔的组名列表(其中可以使用"*"和"?"通配符)。默认允许所有组登录。如果使用了这个指令,那么将仅允许这些组中的成员登录,而拒绝其它所有组。 "组"是指"主组"且不能用GID
AllowGroups
后面跟着一串用空格分隔的组名列表(其中可以使用"*"和"?"通配符)。默认允许所有组登录。如果使用了这个指令,那么将仅允许这些组中的成员登录,而拒绝其它所有组。 "组"是指"主组"且不能用GID
AllowTcpForwarding
是否允许TCP转发,默认值为"yes"。禁止TCP转发并不能增强安全性,除非禁止了用户对shell的访问,因为用户可以安装他们自己的转发器。
AllowUsers
后面跟着一串用空格分隔的用户名列表(其中可以使用"*"和"?"通配符)。默认允许所有用户登录。如果使用了这个指令,那么将仅允许这些用户登录,而拒绝其它所有用户。
#ClientAliveInterval 0
超时断开,每多少秒向客户端请求消息,默认是0不发送。
#ClientAliveCountMax 3
超过3次客户端没回应请求就断开
PubkeyAuthentication yes
启用公私密钥配对认证方式,仅可以用于SSH-2
AuthorizedKeysFile .ssh/authorized_keys
设定PublicKey文件路径,若有多个公钥,直接在后面追加
RSAAuthentication yes
允许RSA密钥
PasswordAuthentication no
有了证书登录了,就禁用密码登录吧
Banner
将这个指令指定的文件中的内容在用户进行认证前显示给远程用户。 这个特性仅能用于SSH-2,默认什么内容也不显示。"none"表示禁用这个特性。
AcceptEnv
指定客户端发送的哪些环境变量将会被传递到会话环境中。只有SSH-2协议支持环境变量的传递,指令的值是空格分隔的变量名列表(可用'*'和'?'作为通配符)。也可用多个 AcceptEnv 。细节参考 ssh_config(5) 中的 SendEnv 配置指令。
Ciphers
指定SSH-2允许使用的加密算法。多个算法之间使用逗号分隔。可以使用的算法如下: "aes128-cbc", "aes192-cbc", "aes256-cbc", "aes128-ctr", "aes192-ctr", "aes256-ctr", "3des-cbc", "arcfour128", "arcfour256", "arcfour", "blowfish-cbc", "cast128-cbc" 默认值是可以使用上述所有算法。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29626120/viewspace-1689845/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29626120/viewspace-1689845/