1 centos系统的SSH和SCP
centOS自带scp和openssh-server
如果你的 CentOS 7 系统中没有 scp,你可以通过以下命令来安装它:
sudo yum install openssh-clients
SSH服务:两台机器上都需要安装并运行 SSH 服务。如果没有安装,可以使用以下命令安装:
sudo yum install openssh-server
安装完成后,启动 SSH 服务:
sudo systemctl start sshd
并确保 SSH 服务设置为开机自启:
sudo systemctl enable sshd
2 SSH密钥认证
2.1.生成 SSH 密钥对: 打开终端,使用以下命令生成新的 SSH 密钥对(如果已有密钥对,可以跳过此步骤):
ssh-keygen -t rsa
按照提示操作,可以设置密码(推荐),也可以直接按回车使用默认设置。
2.2.复制公钥到目标机器:
方案一:
使用 ssh-copy-id 命令将公钥复制到目标机器。这个命令需要目标机器的用户名和 IP 地址:
ssh-copy-id username@destination_host
例如:ssh-copy-id root@192.168.0.4`
替换 username为目标机器上的用户名,destination_host 为目标机器的 IP 地址或主机名。
输入密码: 系统会要求你输入目标机器上对应用户的密码。
——————————————————————————————————————————
方案二:
1.如果系统中没有 ssh-copy-id 命令,你可以手动复制公钥,如下所示:
ssh username@destination_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
2.粘贴公钥:
将源机器上的公钥内容粘贴到目标机器的 ~/.ssh/authorized_keys 文件中。如果使用 ssh-copy-id 命令,这一步会自动完成。
编辑 ~/.ssh/authorized_keys 文件: 使用文本编辑器打开 ~/.ssh/authorized_keys 文件,将源机器的公钥粘贴到文件中。
3.设置正确的权限: 确保 ~/.ssh 目录和 authorized_keys 文件具有正确的权限。通常需要以下设置:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
2.3 测试 SSH 密钥认证:
ssh username@destination_host
3 测试scp传输
scp /path/to/example.txt username@192.168.1.101:/home/username/documents