不同连接终端通过密钥方式登录 Linux

简介: 近期碰到需要使用密钥登录的情况,不同的连接终端的情况不太一样,所以对此总结一番一、 密钥对生成注意:本地主机和目的主机需 ping 通1)确认服务器是否安装有 ssh 以及openssh服务端[zyy@kube-master ~]$ rpm -qa |grep opensshopenssh-6.

近期碰到需要使用密钥登录的情况,不同的连接终端的情况不太一样,所以对此总结一番

一、 密钥对生成
注意:本地主机和目的主机需 ping 通
1)确认服务器是否安装有 ssh 以及openssh服务端

[zyy@kube-master ~]$ rpm -qa |grep openssh
openssh-6.6.1p1-25.el7_2.x86_64
openssh-clients-6.6.1p1-25.el7_2.x86_64
openssh-server-6.6.1p1-25.el7_2.x86_64
[zyy@kube-master ~]$ 
[zyy@kube-master ~]$ 
[zyy@kube-master ~]$ systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-05-21 17:40:41 CST; 22h ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 10690 (sshd)
   CGroup: /system.slice/sshd.service
           └─10690 /usr/sbin/sshd -D

2)在目的主机切换到需要使用密钥登录的账户,生成密钥对

[zyy@kube-master ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zyy/.ssh/id_rsa): 
Created directory '/home/zyy/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/zyy/.ssh/id_rsa.
Your public key has been saved in /home/zyy/.ssh/id_rsa.pub.
The key fingerprint is:
1d:46:32:22:37:b3:ff:f1:14:d9:6f:3c:19:cb:4a:11 zyy@kube-master
The key's randomart image is:
+--[ RSA 2048]----+
|    . = o .  E   |
|     o = +   o.  |
|      .   o o... |
|       . o . .oo+|
|        S o .. =+|
|         . +. ...|
|          . ..   |
|                 |
|                 |
+-----------------+

3)查看生成的密钥、公钥对,权限均设置为 600

[zyy@kube-master .ssh]$ ll
total 8
-rw------- 1 zyy zyy 1679 May 22 16:32 id_rsa           #  私钥
-rw-r--r-- 1 zyy zyy  397 May 22 16:32 id_rsa.pub     # 公钥

4)根据需要修改登录方式

修改 sshd 连接配置文件 vim /etc/ssh/sshd_config

PasswordAuthentication no                         # 不允许密码验证登录
PubkeyAuthentication yes                            # 允许公钥验证登录
AuthorizedKeysFile .ssh/id_rsa.pub            # 指定公钥文件路径

5)将私钥和公钥导出来保存备用

[zyy@kube-master .ssh]$ sz id_rsa id_rsa.pub 

二、使用 Xshell 连接

打开连接终端,设置好主机名,然后设置好连接信息

不同连接终端通过密钥方式登录 Linux

在连接过程中可能会出现如下错误信息

不同连接终端通过密钥方式登录 Linux

这是因为在服务端没有加入认证

将公钥追加到一个文件,命名为authorized_keys
[zyy@kube-master .ssh]$ cat id_rsa.pub >authorized_keys

将文件权限设置为 600
[zyy@kube-master .ssh]$ chmod 600 authorized_keys 
[zyy@kube-master .ssh]$ 
[zyy@kube-master .ssh]$ ll
total 12
-rw------- 1 zyy zyy  397 May 22 16:47 authorized_keys
-rw------- 1 zyy zyy 1679 May 22 16:32 id_rsa
-rw------- 1 zyy zyy  397 May 22 16:32 id_rsa.pub

然后我们重新进行连接就OK了

不同连接终端通过密钥方式登录 Linux

三、使用 SecureCRT 连接

打开CRT,配置连接信息,将密钥认证设置为首选登录方式

不同连接终端通过密钥方式登录 Linux

然后导入公钥

不同连接终端通过密钥方式登录 Linux

点击确认,成功连接
不同连接终端通过密钥方式登录 Linux

参考资料

  1. 基于Xshell使用密钥方式连接远程主机
  2. 在secureCRT中,通过秘钥对连接linux服务器
目录
相关文章
|
8月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1986 77
|
6月前
|
Linux 网络安全 iOS开发
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
1532 4
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
|
9月前
|
安全 Unix Linux
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
25000多字详细讲解,深度剖析权限管理核心。从基础权限到复杂的特殊权限,逐一拆解,无论你是零基础小白还是经验丰富的运维人员,都能在这里找到提升技能的关键知识,全面掌握 Linux 权限管理。还不快来看看?
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
|
8月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
9月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
301 13
|
9月前
|
Linux
SecureCRT连接Linux时乱码问题
本文详细介绍了在使用SecureCRT连接Linux服务器时出现乱码问题的解决方法,包括设置SecureCRT字符编码、检查和配置Linux服务器字符编码、调整终端设置等。通过这些方法,您可以有效解决SecureCRT连接Linux时的乱码问题,确保正常的终端显示和操作。希望本文能帮助您在实际操作中更好地解决类似问题,提高工作效率。
672 17
|
9月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
304 5
|
8月前
|
存储 NoSQL Linux
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
587 0
|
12月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
Shell Linux API
C语言在linux环境下执行终端命令
本文介绍了在Linux环境下使用C语言执行终端命令的方法。首先,文章描述了`system()`函数,其可以直接执行shell命令并返回结果。接着介绍了更强大的`popen()`函数,它允许程序与命令行命令交互,并详细说明了如何使用此函数及其配套的`pclose()`函数。此外,还讲解了`fork()`和`exec`系列函数,前者创建新进程,后者替换当前进程执行文件。最后,对比了`system()`与`exec`系列函数的区别,并针对不同场景推荐了合适的函数选择。