linux禁止密码登录-设置秘钥登录
为了安全期间, 还是不要用密码登录的为好:
1-生成SSH密钥 (客户机端)
执行ssh-keygen -t rsa命令创建RSA密钥对,执行结果如下(键入3次回车):
此时,公钥保存在 ~/.ssh/id_rsa.pub 中;私钥保存在~/.ssh/id_rsa中。
我们需要报客户端的 公钥 放到服务器上。
2-将刚生成的公钥复制到目标服务器
(私钥在客户端,需要私钥与公钥配对)
ssh-copy-id user@IP
#或者,您也可以使用SSH粘贴密钥
cat ~/.ssh/id_rsa.pub | ssh user@IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
注意 公钥 格式(.pub)是这样的:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwnx+XjqPMT6CMQUWIWHR/sDU72bM6LLnxKO70s922Muuo3X3LblcAUt0gLEVMH31HW0TL5Az32GPTal9nkltkzudokz4KQvBbJNVvwQS6URYoX9nZj6SYetnFzNhmNN+YEqb4+Qdhqsg5OpxnqcJ8DS0U71+T3kb6x3FbdeseI22wuePETgM/cuv3upMVRT2QqsYx/E1Daj/VRi2UeGFxGvPiXqex2Taa0hYFf9Q4VuRTWJJ9sqVvSBuwBNuTUuYJ+S9vDqRPwt+I7l9goZTI7I8OpmtOfIMw6Gj1YSlhHX2tPpWJ7eYqVss1c2r8vsKd+WkLAjxmr9D0fu8XFYcsw==
authorized_keys
这个文件 如果没有 就创建一个
cd /root/.ssh
touch authorized_keys
chmod 600 authorized_keys
权限必须为600
3-修改配置文件 (服务器端)
以下操作均修改/etc/ssh/sshd_config文件,(注意:需要配置位置处修改,在文件后面追加不生效)
禁止密码登录,只允许密钥登录(一般只需要修改此项即可)
PasswordAuthentication no
然后:
systemctl restart sshd