- 作为Linux系统管理员,没有人不知道OpenSSH的,SSH采用了密文的形式在网络中传输数据,实现了更高的安全级别,是Telnet服务的安全替代品,sshd是OpenSSH的服务器端守护进程,而与之对应的windows下客户端软件有很多,常用的有SecureCRT、Xshell、puTTY等。通过SecureCRT远程连接linux系统,不受网络速度和带宽的影响,无论你是光纤上网还是宽带拨号上网,都能轻松连接,操作维护方便。
- OpenSSH在Centos linux发行版本中是默认安装的,一般的安装目录为/etc/ssh,对应的服务配置文件为/etc/ssh/sshd_config。
- 这里以阿里云Aliyun Linux 17.1 64位为例。讲下sshd_config配置文件中每个选项中的含义。
- 命令: vi /etc/ssh/sshd_config
- #Port 22 ("Port"用来设置sshd监听的端口,如果不做修改,默认22端口)
- #ListenAddress 0.0.0.0 ("ListenAddress"用来设置sshd服务器绑定的ip地址,不需要做特殊设置,保持默认)
- #Protocol 2("Protocol"设置使用的SSH协议,默认为SSH2,其实可用的协议还有SSH1,不过SSH1安全度很低,已经基本不用了)
- HostKey /etc/ssh/ssh_host_rsa_key
- HostKey /etc/ssh/ssh_host_ecdsa_key
- HostKey /etc/ssh/ssh_host_ed25519_key ("HostKey"用来设置服务器密钥文件的路径,保持默认即可。)
- \ #KeyRegenerationInterval 1h ("KeyRegenerationInterval 1h"用来设置在多少秒后系统自动重新生成服务器的密钥(如果使用密钥)。重新生成密钥是为了防止利用盗用的密钥解密被截获的信息)
- #ServerKeyBits 1024 ("ServerKeyBits 1024" 用来定义服务器密钥的长度,默认为1024位)。
- SyslogFacility AUTHPRIV ("SyslogFacility AUTHPRIV"用来设定在记录来自sshd的消息的时候,是否给出"facility code")
- \ #LogLevel INFO ("#LogLevel INFO" 用来记录sshd日志消息的级别)
- \ #LoginGraceTime 2m("#LoginGraceTime 2m"用来设置如果用户登陆失败,在切断连接前服务器需要等待的时间,以秒为单位)
- PermitRootLogin yes("PermitRootLogin yes"用来设置超级用户root能不能用ssh登陆。root远程登陆是很危险的,因此在远程登陆linux系统时,这个选项建议为"no" 阿里云yes)
- \ #StrictModes yes("用来设置ssh在接收登陆请求之前是否检查用户根目录和rhost文件的权限和所有权,此选项建议设置为yes")
- \ #RSAAuthentication yes("#RSAAuthentication"用来设置是否开启RAS密钥验证,如果采用RAS密钥登陆方式,开启此选项)
- #PubkeyAuthentication yes("#PubkeyAuthentication"用来设置是否开启公钥验证,如果采用公钥验证方式登录时,开启此选项。)
- AuthorizedKeysFile .ssh/authorized_keys("AuthorizedKeysFile"用来设置公钥验证文件的路径,与PubkeyAuthentication配合使用)
-\ #HostbasedAuthentication no
-\ #IgnoreUserKnownHosts no("IgnoreUserKnownHosts"用来设置ssh在进行RhostsRSAAuthentication安全验证时是否忽略用户的"$HOME/.ssh/know_hosts"文件) - #IgnoreRhosts yes("#IgnoreRhosts"用来设置验证时是否使用"/.rhosts"和"/.shosts文件")
-
PasswordAuthentication yes("PasswordAuthentication"用来设置是否开启验证密码机制,如果用密码登陆系统,请设置为yes)
-\ #PermitEmptyPasswords no("用来设置是否允许用密码为空的账号登陆系统,肯定是no了") - X11Forwarding yes("X11Forwarding"用来设置是否允许x11转发)
-\ #PrintMotd yes("用来设置sshd是否在用户登陆时显示"/etc/motd"中的信息")
对sshd_config文件配置完毕,接着重启sshd守护进程,使其修改生效
systemctl restart sshd
最后一步是设置sshd服务开机自动启动,执行下列命令
systemctl enable sshd
这样sshd服务会在系统运行级"multi-user"下自动启动
备注:以上操作系统为Aliyun Linux 17.1 64位
- 邮箱 : ithelei@sina.cn
- Good Luck!