配置免密
2023年12月26日大约 2 分钟约 412 字
在主机 A 上生成 SSH 密钥对
ssh-keygen -t rsa
在生成密钥对的过程中,系统会询问您选择保存密钥的文件位置和设置密码。您可以直接按 Enter 使用默认值,或者根据需要进行设置。生成的密钥对默认存储在用户主目录下的 ~/.ssh
文件夹中。
将生成的公钥复制到主机 B 上
ssh-copy-id user@hostname_of_B
请替换 user
为主机 B 上的用户名,hostname_of_B
为主机 B 的主机名或 IP 地址。执行此命令后,系统会要求您输入主机 B 的密码。
如果 ssh-copy-id
命令不可用,您可以手动复制公钥。打开 ~/.ssh/id_rsa.pub
文件,将其中的内容复制到主机 B 上的 ~/.ssh/authorized_keys
文件中。如果 authorized_keys
文件不存在,可以创建它。
确保主机 A 上的 ~/.ssh
文件夹和其内容的权限正确
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/authorized_keys
这样,密钥和相关文件的权限就设置得当了。
现在,您应该能够从主机 A 免密登录到主机 B。尝试使用 SSH 连接到主机 B,而无需输入密码:
ssh user@hostname_of_B
如果一切设置正确,您将可以无密码登录到主机 B。
使用 SCP 从主机 A 上传文件到主机 B:
scp /path/to/local/file user@hostname_of_B:/path/to/remote/location
请替换 /path/to/local/file
为要传输的本地文件的路径,user
为主机 B 上的用户名,hostname_of_B
为主机 B 的主机名或 IP 地址,/path/to/remote/location
为主机 B 上文件存放的路径。