
第一步在本地电脑生成密钥对首先在你的本地 Linux 终端中执行以下命令来创建密钥对bashssh-keygen -t rsa -b 4096 -C your_emailexample.com-t rsa -b 4096指定使用长度4096位的RSA算法安全性高。-C添加一个注释通常用邮箱方便识别。执行后按提示操作保存路径直接按Enter使用默认的~/.ssh/id_rsa即可。设置密码系统会提示Enter passphrase。强烈建议设置一个密码这相当于给私钥再加一把锁即使私钥文件不小心泄露没有密码也无法使用。完成后会在~/.ssh/目录下生成两个文件id_rsa私钥相当于你的“钥匙”必须严格保密绝不能外传。id_rsa.pub公钥相当于你要安装在服务器上的“锁”可以公开。第二步把公钥“安装”到远程服务器这一步是将你生成的公钥内容添加到远程服务器的信任列表中。这里有两种方法方法一使用ssh-copy-id命令最推荐这个命令会自动将公钥添加到服务器的指定位置最简单也最安全。在本地终端执行bashssh-copy-id useryour_server_ipuser你在远程服务器上的登录用户名。your_server_ip远程服务器的IP地址。执行后系统会提示你输入一次该用户的登录密码。输入正确后公钥就上传成功了。方法二手动复制如果ssh-copy-id不可用先查看并复制你的公钥内容bashcat ~/.ssh/id_rsa.pub选中并复制终端输出的那一长串字符从ssh-rsa开始到末尾。然后登录到远程服务器将公钥粘贴到指定文件中bash# 1. 用密码登录远程服务器 ssh useryour_server_ip # 2. 在服务器上执行以下命令 mkdir -p ~/.ssh # 创建 .ssh 目录如果不存在 chmod 700 ~/.ssh # 设置 .ssh 目录权限为700[citation:3][citation:4] echo 这里粘贴你的公钥内容 ~/.ssh/authorized_keys # 将公钥追加到信任列表 chmod 600 ~/.ssh/authorized_keys # 设置 authorized_keys 文件权限为600[citation:3][citation:4]如果生成秘钥时输入了密码那么就使用自定义的密码登录如果没有输入密码直接登录。