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

默认情况下登录远程服务器是通过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端口等等问题,这种只能慢慢判断定位问题,解决问题。

相关推荐
流浪0011 天前
计算机网络篇23:数据链路层——以太网帧格式与 MAC 地址,MTU 牵住 UDP 和 TCP,ARP 拿 IP 换 MAC
计算机网络·mac·数据链路层·arp·mtu·局域网通信
fthux2 天前
待办清单写满了,别忘了给休息留个位置:试试 Tick Rest
开源·github·mac·提醒·open source·消息提醒·tick rest·tick rest for mac·消息提醒app
csdn_aspnet3 天前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
xbzb13 天前
IP、掩码、网关、DNS 到底谁管什么?网络基础与七种设备一次讲清
网络·网关·mac·ip·dns·掩码
sbjdhjd19 天前
从 VLAN 到 MSTP 的交换网络入门
网络·计算机网络·mac·ip·stp·vlan·交换机
Web3&Basketball21 天前
Meta Muse 816B 实测:两台 Mac 本地跑通
macos·大模型·mac·本地部署·moe·显存优化·meta muse
Keith Guo24 天前
Understanding the Layers of Wireless Chips: RF, Baseband, and MAC in ESP32-S31
mac·rf·baseband
CocoaKier1 个月前
如何安装旧版的MacOS系统?
macos·ios·mac
Hello_Pyhx1 个月前
WinDirStat 2.9.3:从目录扫描到可复查的占用报表
windows·mac·垃圾清理
OliverQiu1 个月前
开源一个 macOS 小工具:集中管理 ChatGPT 的网络启动配置
macos·chatgpt·swiftui·mac·proxy·codex·dmg