] vim /etc/ssh/sshd_config
Port 3389 #改用非默认端口
Protocal 2 #启用SSH V2协议
ListenAddress 192.168.4.51 #设置监听的ip
PermitRootLogin no #拒绝root登录
UseDNS no #不解析客户机地址
LoginGraceTime 1m #密码错误次数上限后2m之内不允许登录
MaxAuthTries 3 #密码错误次数上限
DenyUsers USER1@HOST USER2
AllowUsers USER1@HOST USER2
DenyGroups GROUP1 GROUP2
AllowGroups GROUP1 GROUP2
#黑/白名单。一个用户或组同时写入黑白名单时,黑名单优先
] systemctl restart sshd
] ssh -p PORT USER@IP #linux指定端口
] ssh USER@IP PORT #XShell指定端口
ssh密钥对验证:
PasswordAuthentication no #密码验证:停用
PubkeyAuthtication yes #密钥对验证:启用
AuthorizedKeysFile .ssh/authorized_keys #公钥存放位置,具体存放在发送密钥时使用的账户的家目录
] ssh-keygen -f /root/.ssh/id_rsa -N '' #创建密钥对
] ls /root/.ssh/
] id_rsa id_rsa.pub #私钥和公钥
] ssh-copy-id admin@192.168.4.51 #发送公钥给要连接的服务器,存放在admin家目录下
可以把私钥拷贝带走,实现在任何主机上都可以使用密钥连接服务器,使用时私钥文件名必须为id_rsa,并且除属主外其他人不能有权限
- 去掉yes/no询问
可以在使用ssh命令时加上选项:-o "StrictHostKeyChecking no"
ssh -o "StrictHostKeyChecking no" root@192.168.1.54
或者:(永久解决yes/no问题,known_host报错问题)
] vim /etc/ssh/ssh_config
59 StrictHostKeyChecking no #写入该行
60 UserKnownHostsFile /dev/null #写入该行
] systemctl restart sshd