配置ssh免密登录
1、在生成新的 SSH 密钥对之前,首先检查客户端机器上是否已有 SSH 密钥,主要是为了不覆盖现有密钥。运行以下Is 命令以查看是否存在现有 SSH 密钥:
Is -al ~/.ssh/id_*.pub
2、如果没有:生成新的 SSH 密钥对。
ssh-keygen -t rsa
生成密钥过程中,建议采用默认值,只需要按三次回车之后,就会再~/.ssh目录下生成密钥文件,其中,id_rsa为私钥,id_rsa.pub为公钥。
3、服务器的~/.ssh/authorized_keys文件保存可快速连接的客户端的公钥。
只需把客户端生成的id_rsa.pub文件的内容拷贝到authorized_keys文件的末尾。拷贝的方法有:
a. 直接拷贝。由于id_rsa.pub和authorized_keys都是文本文件,可通过拷贝命令直接拷贝。
b. 把id_rsa.pub上传到服务器,然后再把内容添加到authorized_keys文件中。
scp ~/.ssh/id_rsa.pub root@server_ip:$path
cat id_rsa.pub >> ~/.ssh/authorized_keys
除了密码之外,登录时,还需要配置ip地址、端口、用户等信息,也比较繁琐。可通过客户端的~/.ssh/config配置服务器的相关参数简化登录命令。
config文件的配置内容如下:
Host server
Hostname 192.168.1.1
Port 22
User bingoli
其中,Host为服务器的名称,输入登录命令时使用,后续登录只需要记住这个名字就可以;Hostname为服务器的ip地址;Port为ssh的端口;User为服务器的用户名。配置好相关参数之后,就可以使用简化的命令登录服务器了。
4、 ssh server 即可登录到服务端机器上。