ougato Sharing changes the world

开启 SSH 服务

2021-07-21
ougato

开启 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

Similar Posts

Comments