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