Linux下ssh免密登录
Contents
每次登录远程机器都使用密码的话,十分不方便,也有可能存在一定的安全隐患。如果使用客户端的话,可以用 SecureCRT
等软件统一管理,本文主要通过在终端中配置公钥的方式,实现免密登录。
在本地生成密钥
在本地的用户家目录下创建 .ssh
文件夹,这是一个隐藏文件夹。
进入到 .ssh
文件夹,执行 ssh-keygen
命令生成密钥,无需输入口令或密码,一直回车即可跳过。最终生成了两个文件:
- id_rsa :私钥
- id_rsa.pub :公钥
在本地创建配置文件
同样在本地的 .ssh
文件夹下,创建 config
文件。
|
|
远程机器配置
在远程机器的用户家目录下创建 .ssh
文件夹。
进入到 .ssh
文件夹,创建 authorized_keys
文件,将本地生成的公钥内容粘到authorized_keys
文件中。
文件访问权限设置
远程机器上,.ssh
文件夹和 authorized_keys
文件的读写权限也是影响配置成功率的一个重要因素。经验来讲,组用户和其他用户不能添加写权限。修改权限:
|
|
无密码登录
根据本机 config
中的配置,使用命令 ssh login_alias
即会登录到远程机器的 anthony 用户下。
更改默认SSH端口
Linux 的默认SSH端口都是22,但在互联网上会有很多扫22端口的,使用lastb
命令即可查看到尝试登入系统失败的信息。
试想假如某天SSH爆出了一个严重漏洞,但自己没有及时反应的话,那么后果可能会比较严重,所以更改默认SSH端口也是增加服务器安全性的一个手段。
修改SSH端口配置文件
|
|
修改配置文件Port
字段即可。
添加新端口后,建议先保留22端口,待验证新端口可正常登陆后,可删掉22端口。
重启SSH服务:
|
|
Author bjjdkp
LastMod 2019-04-11