服务器配置文件位于 /etc/ssh/sshd_config
sudo vim /etc/ssh/sshd_config
修改项目
#修改登录端口
Port ****(1024~65535)
#禁止root远程登录
PermitRootLogin no
#允许用户登录(白名单模式)
AllowUsers user1 user2@192.168.1.1
#允许user1 user2通过ip 192.168.1.1登录SSH,其中@ip为可选项目
#禁止用户登录(黑名单模式)
DenyUsers user3 user4
#禁止user3 user4通过SSH登录,注意所有系统账户都应该禁止登录
#禁止密码登录
PasswordAuthentication no
#确认密钥登录测试OK后再关闭
#允许密钥登录
PubkeyAuthentication yes
#配合禁止密码登录
需要防火墙开放相应端口
sudo iptables -I INPUT -p tcp --dport **** -j ACCEPT
sudo service iptables save
sudo service iptables restart
生成ssh密钥及配置
ssh-keygen
将.pub传输至服务器~/.ssh文件
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
chmod 700 ~/.ssh
注意文件权限问题
可以配置/etc/hosts.allow为允许登录
#允许特定ip登录
sshd:192.168.1.1:allow
#允许IP 192.168.1.1 SSH登录
#允许网段登录
sshd:192.168.1.:allow
#允许网段192.168.1.1/24登录,多个网段可以用逗号隔开
可以配置/etc/hosts.deny为禁止
#禁止特定ip登录
sshd:192.168.1.1:deny
#禁止IP 192.168.1.1 SSH登录
#禁止特定网段登录
sshd:192.168.1.:deny
#禁止IP 192.168.1.1/24 SSH登录
#禁止所有登录
sshd:all:deny
#注意allow优先,可以配合该指令生成白名单
注意,linux会先检查allow进行放行,然后再检查deny进行禁止,所以单独设置allow无意义