使用SSH连接电脑


本篇文章主要是描述如何使用 SSH来远程连接 Linux主机(Ubuntu)的用户,也适用于其他的Linux发行版。

1. 客户端安装SSH

1.1 Ubuntu

sudo apt install SSH

1.2 Windows

Windows 10 1809默认安装了OpenSSH,无需安装。

2. 服务器安装SSH-server

由于安装方式和第一步一样,这里就之列出Ubuntu下的安装方式。

sudo apt install SSH-server

PS:到这里已经可以连接了,下面是使用SSH免密登录,可以使用 Ssh 用户名@服务器地址 来连接服务器

3. 客户端生成公私钥

ssh-keygen -t rsa

文件位置在用户家目录下,如Ubuntu下就在~/.ssh下,由于是隐藏文件,请打开显示隐藏文件查看。

4. 上传公钥到服务器

ssh-copy-id -p 22 用户名@服务器IP地址

提示授权时 输入yes回车,然后提示输入服务器用户的密码。 手动复制到服务器上也行。


手动复制如下,

将客户端的.ssh文件夹下的id_rsa.pub文件内的内容复制
粘贴到服务器端的.ssh文件夹下的authorized_keys文件内。
如果服务器端authorized_keys文件不存在,请自行创建。

5. 连接服务器

ssh 用户名@服务器地址

6. 给服务器取别名,免除每次要输入地址

touch ~/.ssh/config  

vim ~/.ssh/config

然后在文件里输入

Host 别名
	HostName 服务器IP地址
	User 你要连接的服务器上的用户名
	Port 22

然后客户端使用ssh 别名即可连接服务器。
其实就是使用别名来代替用户名@IP这一串字符,22是SSH默认使用的端口号,不建议修改。

7. 文件传输

  1. 传文件的话,输入
 scp 文件 用户名@域名/ip:服务器上的路径

如果使用config文件配置过名称后,可以使用

scp 文件 别名:服务器上的路径
  1. 同理,传送文件夹
scp -r 文件夹 用户名@域名/ip:服务器上的路径
  1. 下载远程文件
 scp 用户名@域名/ip:远程文件的路径 本地路径
  1. 下载远程文件夹
 scp -r 用户名@域名/ip:远程文件夹的路径 本地路径

PS:如果需要连接root账号,需要修改服务器/etc/ssh/sshd_config文件,然后输入service ssh restart重启SSH服务。

#PermitRootLogin no   改为  PermitRootLogin yes;

8. 可能会用到的一些SSH命令

//验证命令
ssh -T 用户名@域名/ip

// 如果连接的主机系统发生了变化,例如嵌入式重新烧录了系统镜像
// 使用ssh连接会失败,提示 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
// 此时执行下面的命令后在使用ssh连接即可。
ssh-keygen -R HostName/目标ip
使用 SSH 连接电脑的方法如下: ### 客户端安装 SSH - **Ubuntu**:在 Ubuntu 系统中,默认已经安装了 SSH 客户端,如果没有安装,可以使用以下命令进行安装: ```bash sudo apt-get update sudo apt-get install openssh-client ``` - **Windows**:Windows 10 及以上版本自带 OpenSSH 客户端。可以通过在 PowerShell 中输入 `Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'` 来检查是否安装。若未安装,使用 `Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0` 进行安装。 ### 服务器安装 SSH - server 在要连接的目标服务器(通常是 Linux 系统)上安装 SSH 服务端。以 Ubuntu 为例: ```bash sudo apt-get update sudo apt-get install openssh-server ``` 以 CentOS 为例: ```bash sudo yum install openssh-server sudo systemctl start sshd sudo systemctl enable sshd ``` ### 客户端生成公私钥 在客户端使用以下命令生成 SSH 密钥对: ```bash ssh-keygen -t rsa -b 4096 ``` 按照提示操作,一般直接按回车键即可,会在 `~/.ssh` 目录下生成 `id_rsa`(私钥)和 `id_rsa.pub`(公钥)。 ### 上传公钥到服务器 使用 `ssh-copy-id` 命令将公钥上传到服务器: ```bash ssh-copy-id username@server_ip ``` 其中 `username` 是服务器上的用户名,`server_ip` 是服务器的 IP 地址。输入服务器用户密码后,公钥就会被复制到服务器的 `~/.ssh/authorized_keys` 文件中。 ### 连接服务器 使用以下命令连接服务器: ```bash ssh username@server_ip ``` 如果之前上传了公钥,且服务器配置正确,将无需输入密码直接登录。 ### 给服务器取别名,免除每次要输入地址 编辑客户端的 `~/.ssh/config` 文件(如果文件不存在则创建),添加如下内容: ```plaintext Host myserver HostName server_ip User username IdentityFile ~/.ssh/id_rsa ``` 之后可以使用 `ssh myserver` 来连接服务器。 ### 文件传输 可以使用 `scp` 命令进行文件传输。从客户端上传文件到服务器: ```bash scp local_file username@server_ip:remote_directory ``` 从服务器下载文件到客户端: ```bash scp username@server_ip:remote_file local_directory ``` ### 可能会用到的一些 SSH 命令 - `ssh -p port username@server_ip`:指定端口号进行连接。 - `ssh -X username@server_ip`:开启 X11 转发,用于在本地显示服务器上的图形界面程序。 以上方法适用于使用 SSH 来远程连接 Linux 主机(Ubuntu),也适用于其他的 Linux 发行版[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值