ssh 常用配置

配置 ssl 免密连接

  1. 生成 ssh 密钥对
1
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
  1. 如果是使用 Linux 连接 Windows 服务器,将公钥复制到 Windows 服务器并配置 administrators_authorized_keys 文件
    注意: admin 是服务器的用户名,192.168.100.100 是服务器的 ip 地址
1
cat ~/.ssh/id_rsa.pub | ssh admin@192.168.100.100 "powershell -NoProfile -Command \"New-Item -ItemType Directory -Force -Path 'C:\\ProgramData\\ssh' > \$null; [Console]::In.ReadToEnd() | Out-File -FilePath 'C:\\ProgramData\\ssh\\administrators_authorized_keys' -Encoding ascii -Append\""

此时需要输入服务器的密码,执行成功后,即可免密连接服务器

  1. 如果是使用 Linux 连接 Linux 服务器,将公钥复制到 Linux 服务器即可
    注意: root 是服务器的用户名,192.168.100.101 是服务器的 ip 地址
1
ssh-copy-id -i ~/.ssh/id_rsa root@192.168.100.101

此时需要输入服务器的密码,执行成功后,即可免密连接服务器

Scp 传输文件

scp 本地文件路径地址 服务器用户名@服务器 IP 地址:服务器存放文件的路径地址
参数说明:
-r:递归复制整个目录。
-P:指定端口。
-v:显示详细信息(调试时有用)。
-C:启用压缩(在传输大量数据时能提速)。

  1. 传输指定文件
1
scp /Users/yourselfName/Desktop/file.zip root@192.168.100.101:/root
1
scp D:\files\file.zip root@192.168.100.101:/G:/files
  1. 传输整个文件夹,添加 -r 参数
1
scp -r /Users/yourselfName/Desktop/project root@192.168.100.101:/root