linux ssh 实现免密登录加 别名设置

由于服务器过多,每次登录输入密码显得就很繁琐, 于是就上网看了许多教程,自己也写一个教程 来加深记忆,

首先我的需求是 我们有一台公网服务器 需要连接其他 vpc专有网络服务器(因为vpc网络不能直接访问)所以每次都要通过一台经典网络服务器来跳转.废话不多说开始流程

1 经典网络服务器A  需要连接  vpc 服务器B

首先我们需要在 A服务器生成 秘钥 执行命令 :ssh-keygen 或者 ssh-keygen -t -rsa 密钥类型可以用 -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥

效果

1在 A 执行 ssh-keygen 后需要 按下三次回车键,最后提示 生成秘钥的文件目录 需要记住 我的服务器在 /root/.ssh 目录

切换到 /root/.ssh目录后 看到以下

这里可以看到 我们需要的就是这个  id_rsa.pub 公钥文件  我们需要把这个文件的内容  追加到 服务器B(也就是需要免密连接的服务器) 的 /roo/.ssh/authorized_keys 文件中去   这样就可以 从 服务器A ssh hostname到 服务器B了 

具体实现方法 (1 和2 都可以 建议1):

1 文件追加方式 在服务器A通过 scp id_rsa.pub root@hostname:/root/.ssh/id_ras.pub_copy   把文件复制到B服务器 并重命名为id_ras.pub_copy  在服务器B 通过 cat  id_ras.pub_copy >> authorized_keys  命令把内容追加到authorized_keys 文件中去

2 在服务器A 找到id_rsa.pub 通过 vim id_rsa.pub 命令 打开文件 然后复制内容  切换到服务器B然后找到 authorized_keys 文件然后把刚刚复制的内容 粘贴进去 保存  

然后在服务器A 通过 ssh 服务器B 就可以直接登录了 无需输入密码  注:网上说服务器B的 权限必须需要600 没有测试 我用的 755也是可以的

2 通过别名免密登录:

完成第一步之后 我们可以通过 ssh 加地址例(ssh 10.68.0.23) 可以直接跳转  但是 地址太多不好记 我们有时候需要起别名来记住它 具体实现步骤

进入服务器A 找到目录etc/hosts 编辑 在最下面追加 

例 10.35.24.12  test1

然后保存 然后在用  ssh test1 就可以跳转到 10.35.24.12  如果你也设置了免密那就可以直接免密跳转了

写的不好请原谅,哪里错误请指出 其实也是为了给自己加深记忆 能帮到别人更好 谢谢!

猜你喜欢

转载自blog.csdn.net/study_zmm/article/details/88533642