配置快捷命令登录远程服务机器

默认情况下登录远程服务器是通过ssh方式使用账号和密码进行登录,这种每次输入密码会比较麻烦,可以设置密钥方式登录,无需手动输入密码登录远程服务器

操作步骤

**注意:**密钥算法会导致密钥文件名称不同

1、生成密钥对

powershell 复制代码
ssh-keygen -t ed25519 -C "你的邮箱地址"

默认密钥存储路径:~/.ssh

路径下会生成两个文件:id_ed25519 id_ed25519.pub

2、保证.ssh目录权限和密钥权限

查看权限命令:

  • ls -ld + 目录
  • ls -l + 文件名

修改权限命令:

  • chmod 700 ~/.ssh
  • chmod 600 ~/.ssh/id_ed25519

3、客户端配置~/.ssh/config

一般情况~/.ssh下没有config,需要创建一个config文件,配置文件参数内容

复制代码
Host:自定义的登陆名称
  HostName:服务器IP/域名也可以
  User:用户名
  Port:22(端口一般默认22)
  IdentityFile:~/.ssh/id_ed25519(私钥文件路径一般可以不用配置,会默认使用)
  IdentitiesOnly:yes(强制只使用上面指定的私钥,不尝试其他密钥,多个密钥的时候配置或者有使用有问题配置)
  ServerAliveInterval:60(保持连接不断线-防超时断开,60秒发一次心跳包)
  StrictHostKeyChecking:no(不检查服务器指纹-跳过安全确认)
  UserKnownHostsFile:/dev/null(不记录服务器指纹-不保存信任记录)

配置示例

复制代码
Host test
  HostName 192.168.1.2
  User root
  Port 22
  ServerAliveInterval 60
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null

4、把公钥传到服务器

自动上传:

  • 本地执行命令:ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@IP或域名

  • 简化命令:ssh-copy-id 用户名@IP或域名

手动配置:

powershell 复制代码
# 1. 本地查看公钥
cat ~/.ssh/id_ed25519.pub

# 2. 登录服务器,创建目录与文件(不存在创建)
ssh v-weiyilin@build21.kill.corp.qihoo.net
mkdir -p ~/.ssh
chmod 700 ~/.ssh

# 3. 写入公钥(把上面 cat 的结果整行复制)
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB..." >> ~/.ssh/authorized_keys

# 4. 关键权限(必须!否则密钥被拒-可以先查看确认)
chmod 600 ~/.ssh/authorized_keys

5、服务器端确认sshd开启公钥认证

这个如果是关闭状态就不能使用密钥登录的方式(管理员执行,非管理员没有权限执行)

powershell 复制代码
sshd -T | grep -E 'pubkey|authorizedkeysfile|strictmodes'

输出的参数状态必须是:yes

powershell 复制代码
pubkeyauthentication yes

6、执行连接测试

命令(test是config中配置的Host名称):ssh -v test

-v:SSH 调试模式,用来查看连接过程、定位错误。

7、快捷命令配置

在./zshrc(Mac)或者/.bashrc(Linux)

alias test="ssh test"

8、特殊情况

一般会有个别情况,比如远程的服务器没有root权限,这种无法校验sshd是否开启,再就是网络环境,安全策略组是否开放22端口等等问题,这种只能慢慢判断定位问题,解决问题。

相关推荐
Keith Guo3 天前
Understanding the Layers of Wireless Chips: RF, Baseband, and MAC in ESP32-S31
mac·rf·baseband
CocoaKier6 天前
如何安装旧版的MacOS系统?
macos·ios·mac
Hello_Pyhx7 天前
WinDirStat 2.9.3:从目录扫描到可复查的占用报表
windows·mac·垃圾清理
OliverQiu8 天前
开源一个 macOS 小工具:集中管理 ChatGPT 的网络启动配置
macos·chatgpt·swiftui·mac·proxy·codex·dmg
bug和崩溃我都要9 天前
QT 开发的专业截图录屏工具 - macOS版 / Windows版
windows·qt·mac·录屏·截屏
Fcy6489 天前
Linux下 数据链路层详解(从以太网到ARP协议)
linux·mac·以太网·数据链路层·arp
我命由我123451 个月前
Mac 操作系统 - 一些使用记录
运维·windows·学习·系统安全·运维开发·mac·学习方法
倔强的小石头_1 个月前
把 Mac mini 变成远程 AI 工作台:OpenClaw + 飞书 + cpolar 实战
飞书·mac·openclaw
qwsaedca1 个月前
在Mac上跑 Kokoro TTS经验总结
rust·mac·tts
2601_962381581 个月前
Mac和Windows,哪种电脑适合新手学Python|数智码力分享
windows·python·mac·编程环境·学习入门