SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动
SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动
SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录)
SSH服务详解(八)– vscode 通过 SSH 远程连接 linux 服务器
- SSH 服务器运行在 ubuntu 18.04.1
- SSH 客户端在 Windows10
服务器安装(ubuntu)
SSH 服务器的安装
sudo apt-get install openssh-server
SSH 客户端的安装
sudo apt-get install openssh-client
客户端和服务器的关系:如果,A 机器想被 B 机器远程控制,那么,A 机器需要安装 SSH 服务器,B 机器需要安装 SSH 客户端。
查看 SSH 服务器状态
service ssh status
状态输出如下所示:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-12-22 23:37:15 EST; 6 days ago
Process: 77622 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
Process: 77618 ExecReload=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Process: 864 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 887 (sshd)
Tasks: 1 (limit: 4630)
CGroup: /system.slice/ssh.service
└─887 /usr/sbin/sshd -D
如使用过程中出现问题,可重启 SSH 服务器
重启 SSH 服务器命令
sudo service ssh restart
更多 service 服务器相关命令参考
service --help
客户端安装(windows)
使用 PowerShell 安装 OpenSSH
以 管理员身份运行 PowerShell
。 为了确保 OpenSSH 可用,运行如下命令:
查看 SSH 的状态
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
输出如下
Name : OpenSSH.Client~~~~0.0.1.0
State : Installed
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
如果提示如下错误
Get-WindowsCapability : 请求的操作需要提升。
所在位置 行:1 字符: 1
+ Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-WindowsCapability], COMException
+ FullyQualifiedErrorId : Microsoft.Dism.Commands.GetWindowsCapabilityCommand
是因为 powershell 没有使用管理员身份打开,搜索 powershell 右键使用管理员身份打开即可
已经安装了客户端,所以显示客户端已安装,如果两个都没有安装,执行如下命令
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
两者都会返回
Path :
Online : True
RestartNeeded : False
参考连接:安装 OpenSSH
连接到 SSH 服务器
Windows 连接 Linux
执行命令
ssh username@servername
例如:ssh tyustli@192.168.10.18
(注意服务器和客户端处于同一局域网)
执行命令会报如下错误
Bad owner or permissions on C:\\Users\\Admin/.ssh/config
说明 C:\\Users\\Admin/.ssh/config
我们没有权限,类似 Linux 中有 chmod 777 file
来改变文件的权限,在 Windows 下输入如下命令
echo Y | cacls C:\Users\Admin\.ssh\config /p tyustli:F
结果:
Are you sure (Y/N)?processed file: C:\Users\Admin\.ssh\config
加上 echo Y 是因为执行 cacls C:\Users\Admin\.ssh\config /p tyustli:F
命令之后 powershell 再也无法输入,所以加上这个参数,上述命令执行之后再次输入命令
ssh tyustli@192.168.10.18
提示输入密码:
tyustli@192.168.10.18's password:
正确输入 Linux 的密码即可
连接之后的状态
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 5.3.0-61-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
* Canonical Livepatch is available for installation.
- Reduce system reboots and improve kernel security. Activate at:
https://ubuntu.com/livepatch
393 packages can be updated.
321 updates are security updates.
Your Hardware Enablement Stack (HWE) is supported until April 2023.
Last login: Wed Dec 29 03:49:32 2021 from 192.168.10.22
tyustli@tyustli-virtual-machine:~$
至此,Windows Powershell 成功通过 SSH 连接到 Linux 服务器
退出远程连接
exit