当我们得到一个服务器以后,直接使用root@ip 然后输入密码登陆服务器是很危险的事情,如果密码被别人知道或者我们做了一些错误操作都会引起灾难性的后果,所以,我们需要创建一个普通用户,并且使普通用户可以在需要的时候执行root命令,并且禁止root远程登录.
添加用户
adduser 用户名
修改密码
passwd 用户名
将用户添加到 wheel group 这个group允许用户使用sudo命令
gpasswd -a 用户名 wheel
本地执行以下命令生成公私钥
ssh-keygen
上传到服务器
第一种方法
本地安装ssh-copy-id 用于把公钥上传到服务器
brew install ssh-copy-id
ssh-copy-id 用户名@ip地址
执行完上面的命令以后 你的服务器上用户名文件夹下的.ssh目录下就会有一个authorized_keys文件
第二种方法
将公钥复制后,登陆远程服务器,然后切换到该用户 su - 用户名,接着在用户目录创建.ssh文件夹 并将其权限设置为700,然后进入创建authorized_keys文件,将公钥复制进去保存退出,然后将该文件权限设置为600就可以了.
禁止root用户远程登录
编辑 /etc/ssh/sshd_config文件
找到PermitRootLogin 将其值设置为no
重启SSH
systemctl reload sshd
接下来就可以不是用密码登陆远程服务器了
以上内容摘录于Mitchell Anicas Initial Server Setup with CentOS 7,这个网站非常好,内容十分的友好.