技巧/工具 - SSH - Linux/Windows OpenSSH 连接
Linux/Windows OpenSSH 连接
问题描述
我们在编写代码或是运行时总是需要不同的运行环境,或是为了访问方便,又或是需要进行某些分布式的测试,我们经常会使用SSH来保证我们连接的安全性并创建我们的连接。
OpenSSH 包含客户端和服务器两部分,其中:
- 客户端:用于连接远程服务器。
- 服务器:在远程服务器上运行,接受客户端的连接请求。
- OpenSSH 最初是为 Linux 系统开发的,现在也支持包括 Windows 和 macOS 在内的多种操作系统。
Windows端安装/启动SSH服务
在开始安装 OpenSSH 之前,请确保你的电脑满足以下条件:
- 操作系统:Windows 11 或 Windows 10(1809 版本或更高)。
- PowerShell 版本:PowerShell 5.1 或以上。
- 管理员权限:安装 OpenSSH 需要拥有管理员权限。
检查安装
Windows 中的 OpenSSH 是一个可选功能(FoD),需要手动添加,它并不会随系统自动安装。
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
安装客户端
# 安装 OpenSSH 客户端
Add-WindowsCapability -Online -Name OpenSSH.Client
安装服务端
# 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server
启动服务端
- 设置 SSHD 服务自动启动:
Set-Service -Name sshd -StartupType 'Automatic'
- 启动 SSHD 服务:
Start-Service sshd
- 检查 SSH 服务器是否在侦听 22 端口:
netstat -an | findstr /i ":22"
- 确保 Windows Defender 防火墙允许 TCP 22 端口的入站连接:
Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Description, Enabled
- 如规则丢失或被禁用,可以创建新规则:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
- (可选)如果要修改配置,如设置用户访问权限,可以编辑sshd_config配置文件:
Start-Process Notepad C:\Programdata\ssh\sshd_config
- 完成更改后,重启 SSHD 服务应用配置:
Restart-Service sshd
备注:一般保证1~4步完成就可以使用了。
连接
ssh [用户名]@[服务器IP]
ssh 用户名@服务器名称 -p 端口号
备注:可不指定端口号
Linux端安装/启动SSH服务
安装openssh-server
- Ubuntu 安装SSH
apt-get install openssh-server
- CentOS 安装SSH
yum install openssh-server
- Kali 安装SSH
apt-get install openssh-server
启动服务/重启服务/查看状态
# 启动SSH
sudo systemctl start sshd
# 重启SSH
service sshd start
service sshd restart
# 查看状态
systemctl status sshd
开机自启动
sudo systemctl enable ssh
配置远程Root使用权限
1.配置ssh配置文件
vim /etc/ssh/sshd_config
2.找到配置
原来这行:PermitRootLogin prohibit-password
修改成这行:PermitRootLogin yes
3.保存退出,重启ssh服务
service sshd restart
总结
第一步:安装
# windows
# 安装 OpenSSH 客户端
Add-WindowsCapability -Online -Name OpenSSH.Client
# 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server
# Ubuntu / Kali 安装SSH
# 安装 OpenSSH 服务器
sudo apt install openssh-server
# 安装 OpenSSH 客户端
sudo apt install openssh-client
# 安装 OpenSSH 服务器
apt-get install openssh-server
# 安装 OpenSSH 客户端
apt-get install openssh-client
# CentOS 安装SSH
# 安装 OpenSSH 服务器
yum install openssh-server
# 安装 OpenSSH 客户端
yum install openssh-client
第二步:服务端开启服务
# windows 开启SSH
Start-Service sshd
# Linux 开启SSH
service sshd start
# 或
sudo systemctl start sshd
第三步:客户端连接服务端
连接前确保计算机上存在一普通用户,可以使用普通用户进行连接
# 服务端
ipconfig 或 ifconfig
获取本机IP,并查看端口“22”是否打开
可以使用netstat 命令监控 windows/Linux 均可使用此命令
# windows 查询字段 findstr
netstat -an | findstr "22"
# Linux 查询字段 grep
netstat -an | grep "22"
# 客户端
ssh 用户名@服务器IP
其他
参考链接:
https://blog.youkuaiyun.com/crayon0/article/details/122272001
https://www.sysgeek.cn/openssh-windows/