ssh配置文件
Linux强调一切皆文件,Linux系统更改各种软件的配置参数,也就是在修改文件内容而已
sshd服务的配置文件,默认在 /etc/ssh/sshd_config
grep -Ev '$|[# ]' /etc/ssh/sshd_config
默认的sshd配置文件,如下
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
ClientAliveInterval 30
ClientAliveCountMax 86400
UseDNS no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
在生产服务器下,运维人员一般会禁止root用户登录服务器,最大程度的保证服务器的安全,减少被黑客攻击的几率,以及修改ssh的远程连接端口
- 修改ssh的端口:port 23354
- 禁止root登录:PermitRootLogin no
- 禁止用密码:PasswordAuthentication no
port改为23354,将 AddressFamily解开注释(让ssh支持各种地址家族,同时支持ipv4和ipv6)。ListenAddress解注释,绑定这台机器的所有的网卡。PermitRootLogin no。PasswordAuthentication no
修改/etc/ssh/sshd_config文件的如下参数,此时一个安全的ssh服务器以及配置,参数如下
[root@yuweijie ~]# grep -Ev '^$|^[# ]' /etc/ssh/sshd_config
Port 23354
AddressFamily any
ListenAddress 0.0.0.0
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
PermitRootLogin no
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
ClientAliveInterval 30
ClientAliveCountMax 86400
UseDNS no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
注意,此时别立即重启服务。配置一个普通用户的账号,且支持公钥登录的形式
1、登录服务器,创建普通用户,设置登录密码
useradd yuweijie
passwd yuweijie
2、在自己本地机器,生成一个普通用户的公私钥对
ssh-keygen -t rsa
3、发送公钥给服务器,配置公钥登录
ssh-copy-id yuweijie@你的ip地址
4、在正确配置了公私钥登录之后,yuweijie这个用户就可以免密登录Linux服务器了
ssh yuweijie@你的ip地址
在Linux机器上配置yuweijie用户支持sudo命令
1、使用root登录服务器,配置yuweijie用户支持sudo命令
vim /etc/sudoers 添加如下行
yuweijie ALL=(ALL) ALL
2、此时尝试用yuweijie用户登录,是否能够使用sudo命令
最后一步,使用root账号,重启Linux的sshd服务器,以后root用户就无法使用密码登录了,只能用yuweijie这个用户进行免密登录,最大程度保证服务器的安全了
1、使用root用户重启sshd服务
ssh root@ip地址
2、重启sshd服务
systemctl restart sshd
3、此时机器已经禁止root登录,禁止密码登录,且修改了ssh端口为23354
4、此时只能使用配置好的yuweijie用户进行免密登录了
ssh yuweijie@ip地址 -p 23354
如果使用新的端口登录超时,是因为防火墙没有开对应的端口
网友评论