1、新增一个普通账号
adduser xxx
2、修改密码
passwd xxx
3、禁止root使用ssh登录
使用 vim (或任何文本编辑器) 开启/etc/ssh/sshd_config
将#PermitRootLoginyes 修改为:
最后输入以下指令重新启动sshd
systemctl restart sshd.service
4、使用非常规的ssh端口
系统默认是22端口
使用 vim (或任何文本编辑器) 开启/etc/ssh/sshd_config
将#Port 22 修改为:
Port 10837已修改为1024到65536任意的一个
点击[这里]查询冲突(https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers)
重新启动sshd
systemctl restart sshd.service
我用的是阿里云的安全组,所以没有开启本地防火墙,更换端口后要在阿里云删除原来的安全组,新增现在的安全组。
5、安装rzsz
yum list lrzsz*
yum install lrzsz -y
6、使用公钥验证登录。
在这里我使用的是secureCRT。
首先在客户端生成秘钥,Tools - Create Public Key
Select Key type: RSA
对私钥设置口令, 也可以不设置
设置密钥长度为2048,关键,一定要选择 “OpenSSH Key format” , 为什么呢? 等一下再说,这和多种实现 key 格式不一致有关。这里选择生成的密钥使用 OpenSSH Key 格式。如果选择默认的格式,上传到服务器的时候需要执行格式转换的工作,需要通过命令行来连接的也需要通过securecrt来转换私钥为openssh格式,这里建议采用openssh key格式!
点击完成后会生成两个文件,默认是Identity和Identity.pub,其中Identity为私钥,Identity.pub为公钥。
上传 公钥 到远程服务器,在这里我采用的是 lrzsz,把刚才创建生成的公钥(Identity.pub) 上传到远程服务器, $HOME/.ssh 目录下。如果此用户home目录没有 .ssh 目录,则手动创建。
## 如果没有 .ssh 目录执行 mkdir .ssh 进行创建
# 在需要开启ssh连接的用户目录下建立 .ssh目录
# mkdir .ssh
# chmod 700 .ssh
# cd .ssh
# mv Identity.pub authorized_keys
# chmod 600 authorized_keys
## 如果有多个公钥需要保存,必须使用追加方式
# cat Identity.pub >> authorized_keys
# 如果密钥的格式不是OpenSSH的,需要进行转换
# ssh-keygen -i -f <公钥文件> >> ./.ssh/authorized_keys