1. 生成ssh密钥
在本地电脑或源服务器上生成ssh密钥。
打开终端或命令行界面,运行以下命令:
ssh-keygen
根据提示,设置密钥保存的路径和密码等信息,一路回车则表示不需要密码。
默认情况下,密钥保存在~/.ssh/id_rsa文件中。
2. 复制公钥到远程服务器
使用以下命令将本地电脑或源服务器上生成的公钥复制到目标服务器上:
ssh-copy-id user@target_server
其中,user是目标服务器上的用户名,target_server是目标服务器的ip地址或域名。执行该命令后,系统会提示您输入目标服务器的密码。
在输入密码后,系统会将本地电脑或源服务器上的公钥自动复制到目标服务器上的~/.ssh/authorized_keys文件中。
如果您无法使用ssh-copy-id命令,您也可以手动将公钥复制到目标服务器上。
您可以使用以下命令查看本地电脑或源服务器上的公钥:
cat ~/.ssh/id_rsa.pub
复制输出结果中的公钥字符串,然后登录到目标服务器上,使用以下命令将公钥添加到目标服务器上的~/.ssh/authorized_keys文件中:
echo "公钥字符串" >> ~/.ssh/authorized_keys
注意,将公钥添加到authorized_keys文件时,需要确保该文件存在,如果该文件不存在,请先创建该文件。
通过上述步骤,您可以将本地电脑或源服务器上的ssh公钥复制到远程服务器上,以实现免密码登录。
3. scp文件传输
scp /path/to/file user@target_server:/path/to/destination
其中,/path/to/file是要传输的文件路径,user是目标服务器上的用户名,target_server是目标服务器的ip地址或域名,/path/to/destination是文件传输到目标服务器上的路径。
示例:
scp /path/to/file root@192.168.248.13:/path/to/destination
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论