openssh 免用户名/密码/服务器地址,登录远程服务器

  • 原理

在 local 本地创建一对公、私钥,将公钥放到 remote 远程服务器,local 本地保存私钥;

远程登录时,拿本地的私钥加密,远程服务器拿公钥解密。

  • 在本地创建公、私钥
ssh-keygen -t rsa

 会在本地的 ~/.ssh 目录生成公、私钥文件:

id_rsa.pub  // 公钥

id_rsa.       // 私钥

  • 将公钥 id_rsa.pub 存入远程服务器的 ~/.ssh/authorized_keys 文件中
ssh root@url "cat >> ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub
  • 本地配置  ~/.ssh/config 文件

配置远端服务器及指定本地的私钥,若有多个远程服务器,就多配几个

Host 188                    # ssh <name> 的 name
HostName 192.168.0.188      # 远端服务器 IP
User root                   # 远端服务器用户名             
Port 22
IdentityFile ~/.ssh/id_rsa  # 私钥位置
  • 登录远端服务器

比如上例:

ssh 188  # ~/.ssh/config 里配置的 Host
原文地址:https://www.cnblogs.com/vsignsoft/p/10342008.html