This website requires JavaScript.

SSH 免密登录 Linux 服务器

by  admin  

在不使用 SecureCRT、XShell 等终端模拟软件的情况下,每次登录 Linux 服务器都要手动输入密码,非常麻烦。然而日常维护中,Windows Terminal 就能完全胜任与服务器的交互,因此我们可以采用 SSH 公钥登录,省去输入密码的步骤。


生成密钥对

打开 Git Bash 窗口(推荐),输入以下命令,默认全部回车即可:

$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa):
Created directory '~/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ~/.ssh/id_rsa.
Your public key has been saved in ~/.ssh/id_rsa.pub.

可见 ~/.ssh/ 目录已生成私钥(id_rsa)与公钥(id_rsa.pub)文件。

上传公钥

接下来将生成的公钥上传至 Linux 服务器,期间需要输入一次密码:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@aliyun

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "~/.ssh/id_rsa.pub"
root@aliyun's password:

Number of key(s) added: 1

如果提示 ssh-copy-id 命令不存在,可以切换到 Git Bash 窗口重新执行,或者改用以下方式:

$ ssh root@aliyun 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

登录服务器

再次登录服务器时,就不需要输入密码了:

$ ssh root@aliyun

Welcome to Alibaba Cloud Elastic Compute Service !
root@aliyun:~#
相关推荐
  • 使用 TIG 构建自动化监控平台
  • Jenkins 多分支流水线构建标签
  • CentOS 7 安装 Blue Ocean
  • Certbot 申请免费 HTTPS 证书
  • Docker Stack 部署博客站点