ssh禁止密码登录

1、root用户登陆后,运行以下第一句指令,其他根据提示进行输入:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):                 建议直接回车使用默认路径
Created directory ‘/root/.ssh‘
Enter passphrase (empty for no passphrase):            输入密码短语(留空则直接回车)
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:
05:71:53:92:96:ba:53:20:55:15:7e:5d:59:85:32:e4 [email protected]
The key‘s randomart image is:
+--[ RSA 2048]----+
|   o o ..                |
| . o oo.+ .            |
| o.+... =               |
| ...o                     |
| o S                     |
| .                         |
|                           |
|                           |
|                           |
+--------------------+

此时在/root/.ssh/目录下生成了2个文件,id_rsa为私钥,id_rsa.pub为公钥。私钥自己下载到本地电脑妥善保存(丢了服务器可就没法再登陆了),为安全,建议删除服务器端的私钥。公钥则可以任意公开。

2、使用以下命令将公钥导入到VPS:

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

3、修改SSH的配置文件/etc/ssh/sshd_config :

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

去调上面3行前面的#,保存后重启SSH服务。

service sshd restart

至此你的 VPS已经支持使用SSH私钥证书登录。在你使用SSH Key登录验证成功后,还是为了安全,建议你关闭root用户使用密码登陆,关闭的方法如下:

修改SSH的配置文件/etc/ssh/sshd_config,找到下面1行:

PasswordAuthentication yes

修改为:

PasswordAuthentication no

保存后重启SSH服务。

service sshd restart

好了,至此只要你保存好你的私钥(为安全,建议删除服务器端的私钥),你的服务器相比原来使用root用户加密码登陆来说已经安全多了。

时间: 2024-11-10 16:37:31

ssh禁止密码登录的相关文章

设置SSH仅秘钥登录,禁止密码登录

/etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin # T

SSH 免密码登录——批量分发服务器

需求:nfs服务器兼做批量分发服务器.backup备份服务器.mb01服务为批量分发的客户端.通过NFS服务器讲编辑好的hosts文件批量分发到备份服务器和mb01服务器的./etc/下.使内网环境可以使用/etc/hosts 文件做正向.反向的域名解析. 由于root具有最大的权限,所以不建议使用root用户进行SSH免密码登录,而是在所有的机器上建立相同的普通用户,通过普通用户的SSH免密码登录,使用scp 命令将hosts文件分发到客户端的该普通用户的家目录下.在各客户端为该普通用户通过s

ssh免密码登录、secureCRT免密码登录详解

再放一张真机实现图: 接下来就详细讲述实现细节. 实现过程中吃了不少苦头,这个不对,那个不通.好在慢慢一点点摸索出来了,经验分享在这里. 希望能终结网上ssh免密码登录,以及SecureCRT免密码登录的问题.如有错误,欢迎指出!转载请注明出处,谢谢! 首先,明确一个目的:各主机之间免密码登录.CRT免密登录其他主机.直接输入ssh 主机名,就能直接登录到指定的主机上.为什么上述没有实现Master与其他主机间的免密码登录?是为了跟免密登录作一个对比.好,闲言少叙,先看第一个话题,各主机间的免密

Redhat下SSH免密码登录步骤

Redhat下SSH免密码登录步骤: 被登录端: # mkdir /root/.ssh 另需禁用selinux(需重启服务器),否则会失败 # vi /etc/selinux/config SELINUX=disabled  (默认为:SELINUX=enforcing) :wq 登录端: # ssh-keygen 路径为默认 密码可为空 # mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys # scp ~/.ssh/authorized_keys [ema

CentOS 6.4 SSH 免密码登录

在配置apache集群分布时,要使用SSH免密码登录.假设现在有两台机器[email protected](192.168.1.100)作为svn机,[email protected](192.168.1.101)作为app机.现在想[email protected]通过ssh免密码登录到[email protected]. 1.在svn机下生成公钥/私钥对. [[email protected] ~]$ ssh-keygen -t rsa -P '' 敲击回车键即可,它在/home/apach

安装Hadoop系列 — 安装SSH免密码登录

配置ssh免密码登录 1) 验证是否安装ssh:ssh -version显示如下的话则成功安装了OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013Bad escape character 'rsion'.否则安装ssh:sudo apt-get install ssh 2)ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa解释一下,ssh-keygen代表生成密钥;-t(注意区分大小写)表示指定生成

Linux下SSH免密码登录

转自:http://haitao.iteye.com/blog/1744272 ssh配置 主机A:10.0.5.199 主机B:10.0.5.198 需要配置主机A无密码登录主机A,主机B 先确保所有主机的防火墙处于关闭状态. 在主机A上执行如下: 1. $cd ~/.ssh 2. $ssh-keygen -t rsa  --------------------然后一直按回车键,就会按照默认的选项将生成的密钥保存在.ssh/id_rsa文件中. 3. $cp id_rsa.pub author

linux 配置ssh免密码登录

1.确保主机名唯一 主机名修改方法: a.修改/etc/sysconfig/network,HOSTNAME=想要设置的主机名称 b.修改/etc/hosts,127.0.0.1   localhost 想要设置的主机名称 localhost4 localhost4.localdomain4 2.查看ssh是否安装,是否可用.可通过ssh 10.10.10.1(其他内网IP)测试. 3.执行:ssh-keygen -t rsa,回车后会有三次让输入,这三次都不用输入,直接按三个回车. 4.这时可

Linux 通过rsa公钥实现ssh免密码登录

1.ssh免密码登录 root登录192.168.121.212,然后以tomcat帐号ssh远程登录10.14.13.16上,不需要输入密码,需要达到如下效果: [[email protected] .ssh]# ssh [email protected] [[email protected] _web1_13_16 ~]$ 大概思路就是需要用生成rsa的密钥,然后将生成的公钥copy到远程10.14.13.16上的/home/tomcat/.ssh/目录下去实现. 2.192.168.121