Mac 通过 iterm2 连接远程服务器
生成密钥
通过如下命令生成密钥:
ssh-keygen -m PEM -t rsa -b 2048 -C "jueee"
# -t rsa 表示生成RSA类型的KEY
# -b 2048 表示生成的KEY长度为2048位
# -C "jueee" 表示作为生成KEY的注释
# -m PEM force ssh-keygen to export as PEM format
如下所示:
上传密钥
将公钥上传到服务器。
将私钥通过 ssh-add .ssh/id_rsa
添加进 Mac 本身的钥匙串。
可以通过 ssh-add -l
查看私钥配置。
可以通过 ssh-add -L
查看公钥配置。
ssh 命令行
可以通过如下命令行测试链接:
ssh -p 1046 jueee@xxx.xxx.com -i 20220723-id_rsa -A
其中,-A
选项表示启用 agent-forwding。
ssh 配置
ssh 配置
**.ssh/config**Host test Hostname xxx.xxx.com #堡垒机域名 User jueee #登入堡垒机用户名,修改为自己的名称 port 22 #登入堡垒机端口 ForwardAgent yes #key转发 #######如果复制该配置,请把#相关的注释拿掉
将私钥添加进 Mac 本身的钥匙串,执行 ssh-add -K privateKey
ssh-add -K ~/.ssh/id_rsa #将私钥添加进 Mac 本身的钥匙串 # 注意:windows WSL或其他linux终端使用 ssh-agent bash
查看确认钥匙串,执行
ssh-add -l
。ssh 登入堡垒机,执行
ssh test
问题处理
如果出现如下 Permission denied, please try again. 异常:
在.ssh/config 文件中加入:ForwardAgent yes
(重启过电脑)先确认是否已经将私钥加载到 ssh-agent 缓存中 (命令:ssh-add -l),如果未加载密钥出现 The agent has no identities ,并使用命令加载:ssh-add .ssh/id_rsa
如果还是无法解决问题,请试图将.ssh/known_hosts 文件中有关堡垒机配置的记录删除。
iterm2 配置
打开 item2 的 Profiles-> Open Profiles:
通过 Edit Profiles 进行新增:
即可在 item2 的 Profiles 中进行选择打开。
设置 iterm2 默认终端
Mac 配置自动 ssh-add
mac 机器需要每次开机 ssh-add 一遍私钥,实在是太麻烦,以前有个方法 ssh-add -K privateKey 可以把私钥存到 keychain 中,重启后也不需要手动 ssh-add,这个方法现在不行了。
新增 .app 文件
打开 Spotlight(聚焦搜索),输入 Automator 然后点击出现的结果,中文名为 “自动操作”.
创建一个 Automator 应用程序类型文件。
选择运行 shell 脚本,在输入框输入 ssh-add 命令,点击顶部未命名保存。
打开系统偏好设置 -》用户与群组,选择登录项,选择保存的.app 文件为开机启动。
然后开机运行 ssh-add -l 就可以看到 shell script 里面添加的 key 已经在缓存列表中。
修改 .app 文件
打开 Spotlight(聚焦搜索),输入 Automator 然后点击出现的结果,中文名为 “自动操作”.
选择打开现有文稿:
选择对应的 .app 文件,打开,即可编辑和保存。
设置快捷键
Iterm2 设置 cmd + ← 到行首、cmd + →到行尾