SSH远程登录相关教程
1 命令概述
命令 | 英文 |
---|---|
ssh 用户名@ip | secure shell |
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 | secure copy |
在 Linux 中 SSH 是 非常常用 的工具,通过 SSH 客户端 我们可以连接到运行了 SSH 服务器 的远程机器上
2 安装SSH服务(安装过可忽略)
安装SSH的客户端和服务器
sudo apt-get install openssh-server # 安装服务器 sudo apt-get install openssh-client # 安装客户端
3 远程登录服务器
ssh [-p port] user@remote
- user是在远程机器上的用户名,如果不指定的话默认为当前用户
- remote 是远程机器的地址,可以是 IP域名,或者是 后面会提到的别名
- port是 SSH Server 监听的端口,如果不指定,就为默认值 22
4 远程拷贝文件
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径
- -r 若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
- -P 若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口
For Example
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py
# 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py
# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop
# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo
5 SSH相关配置
5.1 SSH免密登录
步骤
- 配置公钥
- 执行
ssh-keygen
即可生成 SSH 钥匙,一路回车即可
- 上传公钥到服务器
- 方式一:执行
ssh-copy-id -p port user@remote
,可以让远程服务器记住我们的公钥 - 方式二:使用scp上传ssh公钥到服务器(如果第一种不行的话可以考虑第二种方法)
scp ~/.ssh/id_rsa.pub root@xxx.xxx.xxx.xxx:.ssh/id_rsa.pub
ssh root@xxx.xxx.xxx.xxx
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
5.2 配置别名
每次都输入 ssh -p port user@remote
,时间久了会觉得很麻烦,特别是当 user,
remote
和 port
都得输入,而且还不好记忆,而 配置别名 可以让我们进一步偷懒,譬如用:ssh mac
来替代上面这么一长串,那么就在 ~/.ssh/config
里面追加以下内容:
Host mac
HostName ip地址
User itheima
Port 22
5.3 SSH连接失败问题
-
情况说明:SSH登录服务器报ECDSA host key "ip地址" for has changed and you have requested strict checking错误
-
原因分析:根据个人的情况,原因是我的云服务器重装了系统(清除了与我本地SSH连接协议相关信息),本地的SSH协议信息便失效了。SSH连接相同的ip地址时因有连接记录直接使用失效的协议信息去验证该ip服务器,所以会报错
-
解决方式:清除~/.ssh/known_hosts里旧缓存数据。
-
参考文章: https://blog.csdn.net/yjk13703623757/article/details/80443283?utm_source=blogxgwz5
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 中的改进
· 当数据爆炸遇上SQL Server:优化策略全链路解析
· 记录一次线上问题排查:JDK序列化问题
· 微服务之间有哪些调用方式?
· 记一次SQL隐式转换导致精度丢失问题的排查
· 分享5款开源、美观的 WinForm UI 控件库
· DeepSeek又在节前放大招!
· 领域驱动的事实与谬误 一 DDD 与 MVC
· 从零到一搭建一个前端工具函数库
· 4种插值算法