公钥私钥帐号绑定ssh登录
假设某台客户机C,想要远程登录到服务器S,那么需要在服务器S上面执行下面的命令:
一、账户创建改密码等
(1)新建账户
sudo adduser henry
把账户加入到sudo组里(即赋予更广阔的权限):sudo usermod -a -G sudo henry
sudo usermod -a -G sudo liuzhaoyzz
getent group sudo
(2)删除账户:
终端方法:sudo userdel -r henry
(3)修改帐号密码:sudo passwd henry

二、在服务器S上面创建公钥-私钥对,注意要用某个账户的公钥+私钥这个密钥对登录,公钥应该放在/home/username/.ssh/authorized_keys,或者说username登录后的~/.ssh/authorized_keys
切换到需要绑定的账户:su user
cd ~
mkdir .ssh
ls ~/.ssh
cd ~/.ssh
ssh-keygen -f id_rsa -t rsa
生成密钥对,公钥id_rsa.pub和私钥id_rsa(没有扩展名)
cp id_rsa.pub authorized_keys
cd ~/
chmod 700 /.ssh
chmod 644 /.ssh/authorized_keys //公钥文件的所有权限
chmod 644 /.ssh/id_rsa //私钥文件的所有权限
这里要注意了,私钥id_rsa必须给予权限644,才能拷贝到客户机C上面,可以用任何可用的办法拷贝到客户机C上面,比如通过其他已登录账户ssh+sftp方式导出。

三、服务器S的登录方式相关选项
1、防火墙端口当然要开,比如22
ufw list
sudo ufw status
sudo ufw allow 22
sudo ufw allow openssh
sudo ufw enable
sudo ufw reload
sudo ufw status numbered
sudo ufw xxx,删除某一条规则
2、您需要注意,如果您的Linux服务器已启用密钥方式登录,服务器会自动禁止使用root用户及密码的方式登录。如果您需要重新使用用户密码方式登录,需要修改配置文件。具体操作,请参见重新启用密码登录方式。
sudo nano /etc/ssh/sshd_config
PasswordAuthentication yes
#改成yes就可以支持密码登陆
(1)找到 #StrictModes yes 改成 StrictModes no (去掉注释后改成 no)
(2)找到 #PubkeyAuthentication yes 改成 PubkeyAuthentication yes (去掉注释)
(3)找到 #AuthorizedKeysFile .ssh/authorized_keys 改成 AuthorizedKeysFile .ssh/authorized_keys (去掉注释)
(4)保存
(5)如果配置文件修改了,就需要重启ssh服务使之生效
/etc/rc.d/init.d/sshd reload 重新加载sudo /etc/init.d/ssh restart
sudo service ssh start
sudo service ssh restart
service ssh status
systemctl restart ssh.service

四、客户机C上面选择使用私钥方式登录到服务器S,私钥就是上面没有扩展名的id_rsa,客户机C上面推荐用Mobaxterm。