Linux配置使用SSH Key登录并禁用root密码登录

img

Linux系统大多数都支持OpenSSH,生成公钥、私钥的最好用ssh-keygen命令,如果用putty自带的PUTTYGEN.EXE生成会不兼容OpenSSH,从而会导致登录时出现server refused our key错误。

1、root用户登陆后,运行以下第一句指令,其他根据提示进行输入:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):                 #建议直接回车使用默认路径
Created directory '/root/.ssh'
Enter passphrase (empty for no passphrase):            #输入密码短语(留空则直接回车)
Enter same passphrase again:                                  #重复密码短语
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
05:71:53:92:96:ba:53:20:55:15:7e:5d:59:85:32:e4 root@test
The key's randomart image is:
 --[ RSA 2048]---- 
|   o o ..                |
| . o oo.  .            |
| o. ... =               |
| ...o                     |
| o S                     |
| .                         |
|                           |
|                           |
|                           |
 -------------------- 

此时在/root/.ssh/目录下生成了2个文件,idrsa为私钥,idrsa.pub为公钥。私钥自己下载到本地电脑妥善保存(丢了服务器可就没法再登陆了),为安全,建议删除服务器端的私钥。公钥则可以任意公开。

2、使用以下命令将公钥导入到VPS:

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

3、修改SSH的配置文件/etc/ssh/sshd_config :

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

去掉上面3行前面的#,保存后重启SSH服务。

service sshd restart

至此你的linux服务器已经支持使用SSH私钥证书登录。在你使用SSH Key登录验证成功后,还是为了安全,建议你关闭root用户使用密码登陆,关闭的方法如下:

修改SSH的配置文件/etc/ssh/sshd_config,找到下面1行:

PasswordAuthentication yes

修改为:

PasswordAuthentication no

保存后重启SSH服务。

service sshd restart

好了,至此只要你保存好你的私钥(为安全,建议删除服务器端的私钥),你的服务器相比原来使用root用户加密码登陆来说已经安全多了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想要在 QNX 操作系统中使用 SSHroot 用户身份进行远程登录,并且希望使用密码认证方式,同时又不想手动输入密码,可以通过文件配置的方式来设置密码。具体步骤如下: 1. 在本地计算机上生成 SSH 密钥对 在本地计算机上使用 ssh-keygen 命令生成密钥对,例如: ``` ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_qnx ``` 这里生成的密钥对将用于后续的文件配置中。 2. 在 QNX 服务器上创建 root 用户的密码 使用以下命令为 root 用户设置密码: ``` passwd root ``` 3. 在 QNX 服务器上启用 SSH 服务 使用以下命令启用 SSH 服务: ``` /etc/init.d/sshd start ``` 4. 配置 SSH 服务 编辑 /etc/ssh/sshd_config 文件,将以下两行取消注释: ``` PubkeyAuthentication yes PasswordAuthentication no ``` 请注意,将 PasswordAuthentication 设置为 no,表示禁用密码认证方式,只允许使用公钥认证方式登录。 5. 重启 SSH 服务 使用以下命令重启 SSH 服务: ``` /etc/init.d/sshd restart ``` 6. 在本地计算机上创建密码文件 在本地计算机上创建一个名为 qnx_password 的文件,文件内容为 root 用户的密码,例如: ``` myrootpassword ``` 7. 在本地计算机上创建配置文件 在本地计算机上创建一个名为 config 的文件,文件内容为: ``` Host qnx HostName <QNX服务器IP> User root IdentityFile ~/.ssh/id_rsa_qnx PreferredAuthentications publickey,password PasswordAuthentication no PubkeyAuthentication yes LogLevel QUIET ControlMaster auto ControlPath ~/.ssh/qnx-%r@%h:%p ControlPersist 10m Match host qnx exec "test -f ~/.ssh/qnx_password" PasswordAuthentication yes PubkeyAuthentication no PreferredAuthentications password,publickey PasswordFile ~/.ssh/qnx_password ``` 请将 <QNX服务器IP> 替换为实际的 QNX 服务器 IP 地址。 其中,这里使用了 Match 语句来匹配主机名为 qnx 的主机,并且判断是否存在名为 qnx_password 的密码文件。如果密码文件存在,则使用密码认证方式登录,否则使用公钥认证方式登录。这样可以灵活地选择使用密码或者公钥认证方式,同时也避免了明文密码泄露的风险。 8. 在本地计算机上测试登录 使用以下命令以 root 用户身份通过 SSH 连接到 QNX 服务器: ``` ssh qnx ``` 在连接时,系统会自动判断使用密码或者公钥认证方式,并且不需要手动输入密码。 希望以上步骤可以帮助您完成 QNX SSH 通过文件配置设置 root 用户登录密码的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值