开启 SSH 服务
CentOS
1. 安装 openssh-server 服务
# 查看是否安装 opensshd-server
yum list installed | grep openssh-server
# 安装 opensshd-server
yum install openssh-server
2. 修改配置
# 打开配置文件
vi /etc/ssh/sshd_config
- 开启公钥授权
PubkeyAuthentication yes
- 开启授权目录
AuthorizedKeysFile .ssh/authorized_keys
- 开启密码授权
PasswordAuthentication yes
# 重启 sshd
systemctl restart sshd
3. 开机自动启动
# 开启开机自动启动
systemctl enable sshd.service
4. 授权公钥登录
- 关闭密码授权
PasswordAuthentication no
- 用户主机生成秘钥
# 三次回车(选择默认)
ssh-keygen -t rsa
- 用户主机公钥复制到远程主机
# username 远程用户名
# hostname 远程主机名
ssh-copy-id -i ~/.ssh/id_rsa.pub username@hostname
- 远程主机的目录下、会自动生成一个授权文件、里面包含了所有授权用户主机的公钥
~/.ssh/authorized_keys
Windows
1. 关闭防火墙
# 查看是否开启防火墙
netsh advfirewall show allprofile state
# 关闭防火墙
netsh advfirewall set allprofiles state off
2. 安装 OpenSSH.Server
# 查看是否安装过 OpenSSH.Server
Get-WindowsCapability -Online -Name OpenSSH*
# 查看可安装的 OpenSSH 服务列表
Get-WindowsCapability -Online | ? Name -like OpenSSH*
# 安装 OpenSSH.Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
3. 修改配置并启动
# 打开配置文件
C:\ProgramData\ssh\sshd_config
- 开启公钥授权
PubkeyAuthentication yes
- 开启授权目录
AuthorizedKeysFile .ssh/authorized_keys
- 开启密码授权
PasswordAuthentication yes
# 重启 sshd 服务
Restart-Service sshd
4. 开机自动启动
# 开启自动启动
Set-Service -Name sshd -StartupType 'Automatic'
5. 授权公钥登录
- 关闭密码授权
PasswordAuthentication no
- 注释掉授权组
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
- 用户主机生成秘钥
# 三次回车(选择默认)
ssh-keygen -t rsa
- 用户主机公钥复制到远程主机
# 警告:只允许首次没有其他用户公钥的情况使用、否则将覆盖原有公钥
# username 远程用户名
# hostname 远程主机名
scp %USERPROFILE%\.ssh\id_rsa.pub username@hostname:%USERPROFILE%\.ssh\authorized_keys
- 远程主机的目录下、会自动生成一个授权文件、里面包含了所有授权用户主机的公钥
%USERPROFILE%\.ssh\authorized_keys
6. 卸载
# 卸载 OpenSSH 服务
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0