linux服务器配置ssh免密登录

linux服务器配置ssh免密登录

1.生成ssh key

生成ssh key时同时指定保存的文件名

$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "xx-email"

​ 上面的id_rsa就是我们指定的文件名,这时~/.ssh目录下会多出 id_rsaid_rsa.pub两个文件,id_rsa.pub里保存的就是我们要使用的key。

2.配置config文件

个人本地的config( 没有生成一个):

Host game
   HostName 主机IP
   User root
   IdentityFile ~/.ssh/id_rsa


Host example                       # 关键词,别名
    HostName example.com           # 主机地址
    User root                      # 用户名
    IdentityFile ~/.ssh/id_rsa # 认证文件
    # Port 22                      # 指定端口

​ 192.168.10.?表示匹配 192.168.0.[0-9] 的 IP,是内网服务器的地址,使用localtest

​ 通过执行 $ ssh example 我就可以登录我的服务器。而不需要敲更多的命令 $ ssh [email protected]。又如我们想要向服务器传文件 $ scp a.txt example:/home/user_name。比以前方便多了。

3.将我们生成的key传到服务器

首先测试看能否使用密码登录到服务器

$ ssh username@remote-server
$ password

复制公钥到服务器

$ ssh-copy-id username@remote-server 默认端口是22,也可以指定
$ ssh-copy-id "-p 22 username@remote-server"

ssh-copy-id -i ~/.ssh/id_rsa.pub 服务器用户名@服务器地址

查看公钥与本地的是否一致,一致就说明匹配成功了

本地:
$ cat ~/.ssh/id_rsa.pub

remote-server 
# cat ~/.ssh/authorized_keys

4. 测试是否免密配置成功

 $ ssh game

参考内容:

两个简单步骤实现ssh无密码登录

ssh-copy-id命令

vim常用命令

你可能感兴趣的:(linux服务器配置ssh免密登录)