-
需求背景:有一台阿里云Linux服务器,每次SSH登录时或者使用scp复制文件时都要输入密码,很繁琐.
-
目的:客户端不需要输入密码直接登录到阿里云服务器。
-
服务器:阿里云centos
-
本机:mac
实现步骤
步骤一.在本机mac上使用sh-keygen来生成RSA密钥和公钥 (如果已经生成过,跳过该步)
ssh-keygen -t rsa
#-t表示type,就是说要生成RSA加密的钥匙.
#RSA也是默认的加密类型.所以你也可以只输入ssh-keygen.默认的RSA长度是2048位.如果你非常注重安全,那么可以指定4096位的长度.
生成SSH Key的过程中会要求你指定一个文件来保存密钥,按Enter键使用默认的文件就行了.
然后需要输入一个密码来加密你的SSH Key.密码至少要20位长度(可以不输入).
SSH密钥会保存在home目录下的.ssh/id_rsa文件中.SSH公钥保存在.ssh/id_rsa.pub文件中.
步骤二. 使用ssh-copy-id将SSH公钥上传到Linux服务器
ssh-copy-id username@remote-server
输入远程用户的密码后,SSH公钥就会自动上传了.SSH公钥保存在远程Linux服务器的.ssh/authorized_keys文件中.
上传完成后,会提示Number of key(s) added。
SSH登录就不需要再次输入密码了;