SSH密钥远程登陆

本文介绍了SSH密钥的生成及使用方法,并详细说明如何利用ssh-agent实现无密码登录及跨服务器密钥传递,还提供了解决非标准方式更新公钥时可能遇到的问题的方法。

基本过程是,客户端产生一对密钥,私钥在手,公钥需发送到服务器。

#本地先产生公钥密钥

ssh-keygen

#发送本地公钥至服务器

ssh-copy-id -i /home/jlee/.ssh/id_rsa.pub Gukar@192.168.0.28

#无密钥登陆服务器

ssh Gukar@192.168.0.28


SSH-AGENT的用法

1. 免输入密钥方式登陆的密码

设置ssh-keygen时,若选择输密码,ssh密钥登陆还是会提示输入私钥密码(非用户密码),ssh-agent能避免这种反复输入私钥的烦恼,

操作如下:

ssh-agent

ssh-add 私钥 (这里会提示一次输密码,之后将密码保存在缓存中,之后便不能再input了)


2. 多个服务器之间密钥穿梭

实现从本机->S1->S2的登陆,若按一般步骤,需要将本机私钥也在S1上放一份,但在任何服务器上放私钥都是不安全行为,但用ssh-agent

可解决这一问题:

#开启ssh-agent

eval ssh-agent

#添加私钥

ssh-add ~/.ssh/id_rsa

#修改本机和涉及到的服务器ssh配置,允许密钥在服务器间转发

vim /etc/ssh/ssh_config

#ForwardAgent后面参数修改为yes

ForwardAgent yes

#更改ssh配置需重启sshd

service sshd restart


3.解决非ssh-copy-id -i方式更新公钥,可能出现的密钥验证错误

原则上,两台电脑之间密钥ssh无需ssh-agent,但若非ssh-copy-id -i参数更新公钥,有可能需要ssh-agent,原因是服务器读公钥

有两种方式,一种是直接读authorized_keys文件里的内容,另一种是读ssh-agent缓存里的。解决方式如下:

ssh-agent -s
ssh-add




### 使用 Xshell 通过 SSH 密钥认证登录指南 #### 准备工作 为了实现基于 SSH 密钥的身份验证,需要先创建一对公私钥文件。如果尚未生成密钥对,则可以使用 `ssh-keygen` 工具完成此操作[^1]。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 上述命令会生成默认路径下的两个文件: - 私钥文件:~/.ssh/id_rsa - 公钥文件:~/.ssh/id_rsa.pub 将公钥复制到目标服务器上的 `~/.ssh/authorized_keys` 文件中: ```bash ssh-copy-id user@remote_host ``` 或者手动编辑远程用户的 `.ssh/authorized_keys` 文件并粘贴公钥内容。 --- #### 配置 Xshell 进行 SSH 密钥登录 ##### 打开 Xshell 并新建连接 启动 Xshell 后,在主界面点击 **New** 创建一个新的会话配置窗口。 ##### 设置基本参数 在弹出的对话框中输入以下信息: - Protocol: SSH - Host: 输入目标服务器地址(IP 或域名) - Port: 默认为 22(除非更改过) 完成后命名该会话并保存设置。 ##### 添加身份验证方式 双击刚刚创建的会话进入高级选项页面。导航至 **User Authentication → Public Key** 菜单下启用公共密钥认证功能。 ###### 加载本地私钥 点击右侧按钮浏览定位到之前生成好的私钥文件位置 (~/.ssh/id_rsa),加载成功后确认无误即可返回上级菜单继续调整其他必要项比如超时时间等个性化需求设定完毕后再尝试连接测试一下整个流程是否顺畅运行正常结束部步骤。 注意确保权限正确分配给.ssh目录及其内部所有子项目均需满足严格读写控制标准以保障安性避免潜在风险隐患发生影响正常使用体验效果最佳实践建议如下所示: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/* ``` --- #### 测试连接 当一切准备就绪之后再次激活刚才建立起来的新链接看看能否顺利跳转过去而无需再额外提供密码交互过程即代表已经成功实现了免密自动化的高效便捷访问机制大大提升了工作效率同时也增强了系统的整体防护水平减少了人为失误带来的不确定性因素干扰可能性降到最低限度范围内达到理想状态为止才算圆满完成任务指标要求范围之内合理合法合规合情理范畴之内的解决方案才是最值得推荐采纳实施推广普及应用广泛接受认可度较高的优质选择之一罢了而已啦呵呵哒~ --- ### 注意事项 确保防火墙允许来自客户端设备端口的数据流入以及SELinux策略不会阻止SSH服务运作情况良好运转平稳有序进行下去就不会出现问题困扰我们大家共同进步成长吧朋友们加油哦😊! ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值