本文转载,因为自己用得到,所以特地记录下来,也分享给大家,用密匙登录很方便,如果用Ipad管理ssh的话,那就不要设置密匙的密码,也是很安全的。

Linux SSH登录有两种:

1、使用密码验证登录

通常VPS或服务器开通后都是直接提供IP和root密码,使用这种方式就是通过密码方式登录。如果密码不够强壮,而且没有安装DenyHosts之类的防止SSH密码破解的软件,那么系统安全将存在很大的隐患。

2、使用密钥验证登录

基于密钥的安全验证必须为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上。当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有的密钥加密“质询”,并把它发送给客户端软件(putty,xshell等)。客户端收到质询之后,就可以用本地的私人密钥解密再把它发送给服务器,这种方式是相当安全的。

一、使用XShell生成密钥

Xshell是一款Windows下面功能强大的SSH客户端,能够按分类保存N多会话、支持Tab、支持多密钥管理等等,管理比较多的VPS/服务器使用XShell算是比较方便的,推荐使用。

下载XShell,安装,运行XShell,点击菜单:Tool ->User Key Generation Wizard,出现如下提示:

xshell-key-generation-wizard-1

xshell-key-generation-wizard-2

xshell-key-generation-wizard-3

xshell-key-generation-wizard-4

点击Save as file将密钥保存为id_rsa.pub。

二、将密钥添加到远程Linux服务器

1、将id_rsa.pub文件上传到/root/.ssh/下面(如果没有则创建此目录),并重命名为:authorized_keys,再执行:chmod 600 /root/.ssh/authorized_keys 修改权限。

2、修改/etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存。

3、重启sshd服务,CentOS执行:/etc/init.d/sshd restart。或者控制台重启也可以。

三、XShell使用密钥登录

运行XShell,选择菜单File->New,按如下提示填写:

xshell-new-session-1

xshell-new-session-2

打开创建好的Session

xshell-select-session

xshell-key-login

如果设置没问题就会登录成功,出现用户提示符。

四、修改远程Linux服务器sshd服务配置

1、修改/etc/ssh/sshd_config 文件

将PasswordAuthentication yes 修改成 PasswordAuthentication no

2、重启sshd服务

CentOS执行:/etc/init.d/sshd restart。或者控制台重启。

ok,设置完成。

再提醒一下一定要保存好Putty私钥文件id_rsa.ppk或Linux服务器下载下来的id_rsa私钥文件。