服务器如何开启公钥登录
1. 如何在SecureCRT上使用公钥登陆linux服务器
在SecureCRT上使用公钥登陆Linux服务器的方法:
一、SecureCRT部分配置
1、首先生成公钥。
打开SecureCRT(我的版本为7.0,估计其他版本基本相同)程序,点击菜单栏的“工具”-》“创建公钥”。按照步骤执行。其中一步比较重要就是选择公钥的格式。建议选择“OpenSSH”,否则在服务器端使用时需要转换为OpenSSH各式。何必多次一举呢。所以这里必须选择“OpenSSH”。如果选错了。重新生成一次就可以了。
然后选择公钥私钥存放的地方。默认Identity是私钥,Identity.pub是公钥。
2、把Identity.pub文件上传到你要登陆的Linux服务器上。方法有很多,比如ssh(先不要配置为公钥登陆),ftp等。具体操作自己搞定。上传时选择ASCII方式。
3、在SecureCRT创建服务器连接。协议使用ssh。在“鉴权”方法中,取消勾选“密码”。选择“公钥”,然后点击右边的属性按钮,在对话框中。
使用全局公钥设置:表示所有连接都使用该公钥连接服务器。
使用会话公钥设置:可以分别为每个连接指定不同的公钥。
下面的路径就是指明私钥的具体路径。注意了,这里要指明私钥的路径。保存连接就可以了。
二、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文件中。但两个公钥的内容之间使用换行符隔开。这样的方法还是不可取的。
3、最后,使用SecureCRT登陆linux服务器。
这里要注意,即使使用公钥登陆服务器,当连接的时候,还是要输入用户名。不是说公钥验证么,其实,服务器要知道用你的私钥和哪个用户的.ssh目录下的authorized_keys文件内容进行解密。不可能用私钥和所有的用户authorized_keys文件进行匹配测试。
但是也有例外,如果在linux系统上使用公钥登陆Linux服务器,就不需要指明用户。方法如下:
# ssh 172.16.24.222
这时系统默认以为登陆的远程账号就是当前登陆的账号。
如果设置了公钥口令,连接时比如输入。为了安全,这个口令是必须要有的。在SecureCRT中,口令被翻译为:通行短语。
2. 如何使用公钥/私钥登入 Linux 系统
vim /etc/ssh/sshd_config
找到以下内容,并去掉注释符”#“
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
/sbin/service sshd restart 刷新配置
ssh-keygen -t rsa 服务器生成密钥
cd /root(用户根目录)/.ssh
id_rsa是密钥文件,id_rsa.pub是公钥文件,复制公钥到服务端
scp id_rsa.pub 客户端IP:/root/.ssh/authorized_keys
注意:.ssh目录权限必须为 755
rsa_id.pub 及authorized_keys权限必须为644
3. 如何使用SSH密钥登录
1、配置私钥
使用的账号为test2
a、使用命令ssh-keygen
-t
rsa生成密钥,会生成一个私钥和一个公钥,在提示输入passphrase时如果不输入,直接回车,那么以后你登录服务器就不会验证密码,否则会要求你
输入passphrase,默认会将私钥放在/home/test2/.ssh/id_rsa公钥放在
/home/test2/.ssh/id_rsa.pub。
b、将公钥拷贝到远程服务器上的/test/.ssh/authorized_keys文件
[test2@test2
~]$
cd
~/.ssh
[test2@test2
.ssh]scp
id_rsa.pub
[email protected]:~/
-----------------------------------------------------------------------
[test@linux
~]mkdir
.ssh
[test@linux
~]$
cp
id_rsa.pub
.ssh/authorized_keys
注意,如果已经有authorized_keys文件的话,最好用cat
id_rsa.pub
>>
.ssh/authorized_keys
。
c、客户端上保留私钥,公钥留不留都可以。也就是服务器上要有公钥,客户端上要有私钥。这样就可以实现无密码验证登录了。
2、如果想要获得最大化的安全性,禁止口令登录,可以修改www.example.com上/etc/ssh/sshd_conf中的
passwordauthentication
yes
改为
passwordauthentication
no
也即只能使用密匙认证的openssh,禁止使用口令认证。
3、windows的客服端上如何使用putty登陆,需要把秘钥进行下转换才可以使用秘钥连接,步骤如下:
a.将私钥复制到windows客户端,使用puttygen导入私钥,点击“save
private
key”进行私钥的转换
b.打开putty,添入“hostname”、“port”,然后选择左面导航里的“connection”->“data”,在“auto-login
username”里添入你要登陆的用户名;在“ssh”->“auth”里导入转换后的秘钥文件。
c.单击“open”登陆。
4.另外,最好禁止root用户的登陆,修改/etc/ssh/sshd_config里的“permitrootlogin"为no,可禁止root用户登陆。
5.也可以限制某个用户或者用户组的登陆,使用"denyusers"和"denygroups"即可。
4. 如何配置ssh登录密钥
1. 制作密钥对
首先在服务器上制作密钥对。首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令:
[root@host ~]$ ssh-keygen <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录。
现在,在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。
2. 在服务器上安装公钥
键入以下命令,在服务器上安装公钥:
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys
如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:
[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh
3. 设置 SSH,打开密钥登录功能
编辑 /etc/ssh/sshd_config 文件,进行如下设置:
RSAAuthentication yes
PubkeyAuthentication yes
另外,请留意 root 用户能否通过 SSH 登录:
PermitRootLogin yes
当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录:
PasswordAuthentication no
最后,重启 SSH 服务:
[root@host .ssh]$ service sshd restart
4. 将私钥下载到客户端,然后转换为 PuTTY 能使用的格式
使用 WinSCP、SFTP 等工具将私钥文件 id_rsa 下载到客户端机器上。然后打开 PuTTYGen,单击 Actions 中的 Load 按钮,载入你刚才下载到的私钥文件。如果你刚才设置了密钥锁码,这时则需要输入。
载入成功后,PuTTYGen 会显示密钥相关的信息。在 Key comment 中键入对密钥的说明信息,然后单击 Save private key 按钮即可将私钥文件存放为 PuTTY 能使用的格式。
今后,当你使用 PuTTY 登录时,可以在左侧的 Connection -> SSH -> Auth 中的 Private key file for authentication: 处选择你的私钥文件,然后即可登录了,过程中只需输入密钥锁码即可。
5. 在windows下如何使用密钥对远程登录服务器
在企业的生产中相信各位朋友都会使用远程登录服务器,这样即高效也非常方便,(服务器在西藏,没有远程技术,公司在北京,你只能到西藏与机器相伴,在这里我使用xshell软件),我们使用ssh 服务登录服务器时,如果用用户名和密码登录时(超户基本都叫root,名字知道了,下面你们懂得),极其不安全。如果使用密钥对登录的方式,对咱们的服务器来说,等于又添加了一道枷锁,(让坏人更加难以进入我们的服务器为所欲为)。那么我们就来看一下密钥对如何设置吧
以下过程全程截图
第一步:进入xshell
6. 如何在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
7. 如何在SecureCRT上使用公钥登陆Linux服务器
其实网上的文档很多。各有千秋。估计是自己明白了,别人看起来比较费劲。这里我整理一下,以备自己查阅:
配置过程分为两大部分,SecureCRT部分和Linux服务器部分。
SecureCRT部分配置
1、首先生成公钥。
打开SecureCRT(我的版本为7.0,估计其他版本基本相同)程序,点击菜单栏的“工具”-》“创建公钥”。按照步骤执行。其中一步比较重要就是选择公钥的格式。建议选择“OpenSSH”,否则在服务器端使用时需要转换为OpenSSH各式。何必多次一举呢。所以这里必须选择“OpenSSH”。如果选错了。重新生成一次就可以了。
然后选择公钥私钥存放的地方。默认Identity是私钥,Identity.pub是公钥。
2、把Identity.pub文件上传到你要登陆的Linux服务器上。方法有很多,比如ssh(先不要配置为公钥登陆),ftp等。具体操作自己搞定。上传时选择ASCII方式。
3、在SecureCRT创建服务器连接。协议使用ssh。在“鉴权”方法中,取消勾选“密码”。选择“公钥”,然后点击右边的属性按钮,在对话框中。
使用全局公钥设置:表示所有连接都使用该公钥连接服务器。
使用会话公钥设置:可以分别为每个连接指定不同的公钥。
下面的路径就是指明私钥的具体路径。注意了,这里要指明私钥的路径。
保存连接就可以了。
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文件夹。
服务器端配置和上面的方法相同。
8. linux怎么用秘钥登录
1. 制作密钥对
在服务器上制作密钥对。首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令:
[root@host ~]$ ssh-keygen <== 下面是相应的操作提示,以及密钥生成的位置都会告诉我们。
Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 EnterCreated directory '/root/.ssh'.Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空Enter same passphrase again: <== 再输入一遍密钥锁码Your identification has been saved in /root/.ssh/id_rsa. <== 私钥Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥The key fingerprint is:0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
在 当前 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。
2. 在服务器上安装公钥
键入以下命令,在服务器上安装公钥:
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys
如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:
[root@host .ssh]$ chmod 600 authorized_keys[root@host .ssh]$ chmod 700 ~/.ssh
3. 设置 SSH,打开密钥登录功能
编辑 /etc/ssh/sshd_config 文件,添加如下设置:
sudo vi /etc/ssh/sshd_config
RSAAuthentication yesPubkeyAuthentication yes
接着保存后 另外,请留意 root 用户能否通过 SSH 登录:PermitRootLogin yes
当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录:
PasswordAuthentication no
最后,重启 SSH 服务:
[root@host .ssh]$ service sshd restart
9. 如何在SecureCRT上使用公钥登陆Linux服务器
我以前一直使用口令通过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文件夹。
服务器端配置和上面的方法相同。
10. 如何在SecureCRT上使用公钥登陆Linux服务器
配置过程分为两大部分,SecureCRT部分和Linux服务器部分。
1、SecureCRT部分配置, 首先生成公钥。
打开SecureCRT(我的版本为7.0,估计其他版本基本相同)程序,点击菜单栏的“工具”-》“创建公钥”。按照步骤执行。其中一步比较重要就是选择公钥的格式。建议选择"OpenSSH",否则在服务器端使用时需要转换为OpenSSH各式。何必多次一举呢。所以这里必须选择“OpenSSH”。如果选错了。重新生成一次就可以了。
然后选择公钥私钥存放的地方。默认Identity是私钥,Identity.pub是公钥。
2. Linux服务器部分
在某个账号下登录(可用账号密码的方式登录,也可在有公钥登录权限的机器上登录)Linux, 执行 "ls -a",
显示所有隐藏文件,找到 .ss 文件夹, 执行"ll",找到authorized_keys文件,vi authorized_keys,
把Identity.pub中的内容拷贝到authorized_keys,然后保存退出。该公钥对应的SecureCRT客户端就可以用当前账号登录该Linux服务器了