如何在SecureCRT上使用公钥登陆Linux服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在SecureCRT上使用公钥登陆Linux服务器相关的知识,希望对你有一定的参考价值。

参考技术A 我以前一直使用口令通过ssh协议登陆Linux服务器,最近公司要求使用公钥登陆。说是安全,好吧。那我们整一下。那到底使用公钥登陆服务器有什么好处呢?其实我理解是这样的:

当我们创建了公钥和私钥(这是一对,登陆时要使用私钥解密公钥)后,把公钥给任何服务器,登陆Linux服务器时,只要我们的私钥不变,登陆任何服务器都是不需要密码的。而是使用公钥私钥进行身份验证。安全的多!这里也隐含了一个小细节,就是不要把你的私钥给丢了。否则,你想想,几百台服务器上好不容易把你的公钥配置好,而你的私钥丢失,怎么办?私钥是不能单独生成的!

其实网上的文档很多。各有千秋。估计是自己明白了,别人看起来比较费劲。这里我整理一下,以备自己查阅:

配置过程分为两大部分,SecureCRT部分和Linux服务器部分。

SecureCRT部分配置

1、首先生成公钥。

打开SecureCRT(我的版本为7.0,估计其他版本基本相同)程序,点击菜单栏的“工具”-》“创建公钥”。按照步骤执行。其中一步比较重要就是选择公钥的格式。建议选择“OpenSSH”,否则在服务器端使用时需要转换为OpenSSH各式。何必多次一举呢。所以这里必须选择“OpenSSH”。如果选错了。重新生成一次就可以了。

然后选择公钥私钥存放的地方。默认Identity是私钥,Identity.pub是公钥。

2、把Identity.pub文件上传到你要登陆的Linux服务器上。方法有很多,比如ssh(先不要配置为公钥登陆),ftp等。具体操作自己搞定。上传时选择ASCII方式。

3、在SecureCRT创建服务器连接。协议使用ssh。在“鉴权”方法中,取消勾选“密码”。选择“公钥”,然后点击右边的属性按钮,在对话框中。

如何在SecureCRT上使用公钥登陆Linux服务器?

使用全局公钥设置:表示所有连接都使用该公钥连接服务器。

使用会话公钥设置:可以分别为每个连接指定不同的公钥。

下面的路径就是指明私钥的具体路径。注意了,这里要指明私钥的路径。

保存连接就可以了。

Linux服务器端配置

1、sshd_conf配置

主要修改如下几个内容:

PermitRootLogin no # 默认为注释,先配置为禁止root用户登陆,允许root登陆太危险了。好几次差点犯错误。切记切记!

RSAAuthentication yes #默认为注释, 启用 RSA 认证

AuthorizedKeysFile .ssh/authorized_keys # 验证公钥的存放路径

PubkeyAuthentication yes # 默认为注释,启用公钥认证

PasswordAuthentication no # 禁止密码认证,默认是打开的。

保持后,重新启动ssh服务。在不同的linux服务器上,重启的方法不同。

RedHat,CentOS: service sshd restart //redhat 7 的方法已经改了。

openbsd,freebsd: /etc/rc.d/sshd restart

2、重点部分:配置公钥存放哪的问题。

要把第一部分上传上来的公钥放到用户home目录的.ssh/ 目录下。这里说明一下。如果你想使用test账号登陆,就要把公钥放到test账户的.ssh目录下。你可以直接把Identity.pub改为authorized_keys. 当然也可还是用其他方法。

比如:cat Identity.pub >> authorized_keys

另外说明一下。.ssh目录权限是700,authorized_keys文件权限为644.

重点补充,如果还有其他人也想用自己的公钥登陆服务器,该如何操作呢? 正常操作应该为该用户在服务器上创建一个账号,重新执行本次(Linux服务器端配置,第2点)操作。当然,你也可以偷懒,把他的公钥也放到test账号的authorized_keys文件中。但两个公钥的内容之间使用换行符隔开。这样的方法还是不可取的。

最后,使用SecureCRT登陆linux服务器。

这里要注意,即使你使用公钥登陆服务器,当你连接的时候,还是要你输入用户名。为何呢?不是说公钥验证么?其实,服务器要知道用你的私钥和哪个用户的.ssh目录下的authorized_keys文件内容进行解密。不可能用你的私钥和所有的用户authorized_keys文件进行匹配测试。

但是也有例外,如果你在linux系统上使用公钥登陆Linux服务器,就不需要指明用户。方法如下:

# ssh 172.16.24.222

为何呢?这时系统默认以为你登陆的远程账号就是你当前登陆的账号。

如果你设置了公钥口令,连接时比如输入。为了安全,这个口令是必须要有的。在SecureCRT中,口令被翻译为:通行短语。呵呵。

补充一下,在linux系统上,如何创建公钥和私钥呢?

方法很简单,执行ssh-keygen命令,按照提示就可以完成。完成后,自动会在当前用户的home目录,创建.ssh文件夹。

服务器端配置和上面的方法相同。

用SecureCRT 实现 WIN7 与 Linux 双向通信的问题及文件互传问题解决 http://www.linuxidc.com/Linux/2014-08/105412.htm

如何使用SecureCRT6.6.2通过SSH方式登录Ubuntu系统 http://www.linuxidc.com/Linux/2011-03/33024p4.htm

SecureCRT 连接 Ubuntu http://www.linuxidc.com/Linux/2013-06/85824.htm

Ubuntu 12.04 + 虚拟机VMware 9 + Secure CRT + EditPlus 本地C++开发环境搭建 http://www.linuxidc.com/Linux/2013-05/84820.htm

利用SecureCRT在Linux与Windows之间传输文件 http://www.linuxidc.com/Linux/2014-08/105413.htm

Ubuntu 14.10安装SecureCRT 7.3 http://www.linuxidc.com/Linux/2014-10/108709.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-11/109973.htm
参考技术B 按贴图来看,你已经成功登录Linux主机。而且是以超级用户(root)身份登录的。就是说,你什么都可以做。 输入什么东西?那要看你想要在登录(你说的连接)后做什么。 apache和mysql都可以完全通过命令行来设置和管... 参考技术C 同十紧急线等
祝网友新快乐

记一次secureCRT+ubuntu ssh服务器的远程公钥(yue四声)登陆

有耐心地往下看,哥是实现了的,并且所有细节会给的相当的丰富哈。

ubuntu: ubuntu 14.04 LTS 

        openssh

window10(64位):secureCRT8.0   


看网上的列为同牛们说git+ssh用,自己搭建git服务器,so嗨,所以行动起来,先给win10安装了git,然后在ubuntu上安装了ssh(这个步骤非常简单,就不说啦,有通用教程,我这儿就只写列为同牛们没

有注意的细节,以供各位菜友参考!) 然后下载了一个secureCRT8.0就开始作死连接。

技术分享

在ubuntu端ifconfig得到了IP,然后如图开开森森填入之后准备开始ssh之旅,结果尼玛,什么是Username?反正搞了N久账户密码就是没有登陆成功,也不知道中啥邪了。然后看网上有更安全更便捷

公钥(跟我读 y u e--yue 四声)登陆,想着尼玛折腾好账号-密码登陆也没啥意思,索性哥把公钥登陆也搞定吧,以后用起来方便、一步到位,多好!(于是开始了折腾之路)

sb说:这样的客户端产生私钥和公钥,然后把公钥传输到(别笑哥Low,我是用USB拷的)服务器端,然后内呢,每次登陆的时候服务器端会用公钥加密一段文字给客户端,客户端用自己的私钥解密出来,然后发送给客户端,然后就登陆了,\(^o^)/ 理论上至少是这样的。然后我就开开森森用secureCRT8.0产生公钥,我描述一下吧,图就懒得贴了,像我这种懒神多一折腾不如少一折腾:

Tools>>Create Public Key...Next>>RSA>>Passphrase(不填,confirm都直接回车)产生,然后注意保存为openssh(传统legacy模式),然后我就喜滋滋的设定好公钥登陆,如下图(Options>>Global Options):点击左侧窗口中的SSH2,然后选中刚才生成的一对密钥中的私钥:

技术分享

(这张图哥截聪明了,尽量让51CTO.com标签不遮住自己的图哈!)

然后开开森森的拷贝Identity.pub的公钥到服务器去了,然后说要配置etc/ssh/sshd_config文件,然后我就找了一个连接照着配置

http://blog.csdn.net/lansesl2008/article/details/16113193)

,打开了公钥登陆、关闭了账号登陆啥,端口自己设置了一个63617,嘿嘿小于65536,63:妹子名,617:妹子生日。

然后呢,有人会注意到这样的一个配置(etc/ssh/sshd_config):

AuthorizedKeysFile     .ssh/authorized_keys

对,你猜对了,这儿就是你要去存储公钥的地方,但很多时候root/下并没有.ssh及其下的authorized_keys,

(1)这还用说mkdir、gvim自己造呗,

(2)然后拷贝Identity.pub到.ssh/,然后cat Identity.pub >> authorized_keys,进一步的

(3)chmod 600 author...,以及cd ..

(4)chmod 700 .ssh 然后

(5)service ssh restart

就可以了,然后那边不知道为啥还是要输入用户root,反正可以登录了,可以用了,我就要去忙更重要的事儿啦!


以上是关于如何在SecureCRT上使用公钥登陆Linux服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何在SecureCRT上使用公钥登陆Linux服务器

如何在SecureCRT上使用公钥登陆Linux服务器

如何在SecureCRT上使用公钥登陆Linux服务器

windows 系统下利用SecureCRTxshell 生成ssh登陆linux的公钥

使用ssh公钥密钥自动登陆linux服务器

配置SecureCRT使用SSH公钥方式登录Linux服务器