linux远程认证ssh/scp/sftp
SSH
SSH,即Secure Shell,是用于安全登录远程系统的协议。
SSH是一种协议,我们常用的OpenSSH只是实现了它的一个软件。
一般情况下系统会自带openssh-client
,可用于登录其他服务器。
若要被登录,则在ubuntu中你可以通过sudo apt install openssh-server
的方式来安装。
ssh 远程登录服务器
# 不写用户名默认以当前用户身份登录
ssh <域名或IP地址>
# 指定用户名
ssh <用户名>:<域名或IP地址>
# 回车之后如果密钥已经配置,则会直接登录成功,否则会询问密码
sshd 修改默认端口22
我们可以通过配置文件修改默认端口22,配置文件在/etc/ssh/sshd_config
打开配置文件,我们找到 # Port 22
将其取消注释,然后修改为其他端口比如99,然后尝试连接:
理性端口号,需要重启sshd方可生效:systemctl restart sshd
禁止Root用户登录
如果想禁止Root用户远程直接登录,可以将配置文件里的PermitRootLogin
设置为no
生成密钥
使用ssh-keygen
生成密钥的时候,会提示输入密码,直接回车即置空。
之后使用该密钥对去登录其他服务器的时候,不需要输入额外的密码。
否则,你在其他服务器上配置过公钥之后,使用该私钥去认证,需要输入该私钥的密码。
ssh-keygen -t rsa
<Enter>
<Enter>
<Enter>
将公钥拷贝到服务器
# 端口为22则可省略 -p <port>
ssh-copy-id -p <port> <host>
scp
# 拷贝本地文件到远程服务器
scp <本地文件> -p <port> <user>@<host>:<path> # 如果是目录加 -r
# 从服务器拷贝文件到本地
scp -p <port> <user>@<host>:<path> <本地路径> # 如果是目录加 -r
sftp
sftp <host>
# 进入交互模式后,可以浏览传输文件
get <文件名> <本地地址>
有了计划记得推动,不要原地踏步。
分类:
服务器&开发环境配置
标签:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2019-11-23 使用 python 创建&更改 word 文档