第一步
使用ssh-keygen命令,此时会在本地的家目录的.ssh目录生成两个文件,分别是id_rsa.pub和id_rsa目录
第二步
使用ssh-copy-id -p port user@ip命令,会将本地的is_rsa.pub文件中的内容拷贝到远程服务器的家目录下的.ssh文件夹下的authorized_keys文件中
工作原理
使用ssh_keygen命令在本地生成了一堆密钥对,其中id_rsa.pub是公钥,id_rsa是私钥。使用第二个命令ssh-copy-id实际上是将本地的公钥上传到了服务器
公钥和私钥匙一堆非对称加密算法,当本地向服务器上传数据时,所有的数据都通过了本地私钥的加密,服务器收到数据后,会用上传的公钥进行解密;当服务器向本地进行数据传输时,会用公钥进行加密,本地使用私钥进行解密
别名设置
每次都输入ssh-pport user@remote,时间久了会觉得很麻烦 特别是当 user,remote和port都得 输入,而且还不好记忆
而配置别名可以让我们进一步偷懒,譬如用: ssh mac 来替代 面这么一长串,那么就在
~/.ssh/config里面追加以下内容:
Host mac
HostName 服务器的ip地址
User 服务器的用户名
Port 22
保存之后,即可用 ssh mac 实现远程登录了, scp同样可以使用