SSH密钥登录让Linux VPS服务器更安全
随着PHP越来越流行,Linux VPS/服务器的使用也越来越多,Linux的安全问题也需要日渐加强,如果你安装过DenyHosts并设置过邮件提醒,你每天可能会受到数封DenyHosts Report将前来破解SSH密码的IP加入/etc/hostsdeny。
Linux SSH登录有两种:
1、使用密码验证登录
通常VPS或服务器开通后都是直接提供IP和root密码,使用这种方式就是通过密码方式登录。如果密码不够强壮,而且没有安装DenyHosts之类的防止SSH密码破解的软件,那么系统安全将存在很大的隐患。
2、使用密钥验证登录
基于密钥的安全验证必须为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上。当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有的密钥加密“质询”,并把它发送给客户端软件(putty,xshell等)。客户端收到质询之后,就可以用本地的私人密钥解密再把它发送给服务器,这种方式是相当安全的。
一、生成密钥
因为puttygen生成的密钥有问题可能会出现:“Server refused our key”,最好使用XShell生成密钥或者在远程Linux VPS/服务器生成密钥。
1、在Linux远程服务器生成密钥:
登录远程Linux VPS/服务器,执行:
root@vpser:~# 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 //提示公钥和私钥已经存放在/root/ssh/目录下
Your public key has been saved in /root/ssh/id_rsapub
The key fingerprint is:
15:23:a1:41:90:10:05:29:4c:d6:c0:11:61:13:23:dd root@vpsernet
The key’s randomart image is:
+–[ RSA 2048]—-+
|=@Bo+o oo |
|=o=E o o |
| |
| |
| S |
| |
| |
| |
| |
+—————–+
root@vpser:~#
将/root/ssh/下面的id_rsa和id_rsdpub妥善保存。
2、使用XShell生成密钥
Xshell是一款Windows下面功能强大的SSH客户端,能够按分类保存N多会话、支持Tab、支持多密钥管理等等,管理比较多的VPS/服务器使用XShell算是比较方便的,推荐使用。
下载XShell,安装,运行XShell,点击菜单:Tool -User Key Generation Wizard,出现如下提示:
点击Save as file将密钥保存为id_rsapub。
二、将密钥添加到远程Linux服务器
1、用winscp,将id_rsapub文件上传到/root/ssh/下面(如果没有则创建此目录),并重命名为:authorized_keys(如果是在Linux服务器上生成的密钥直接执行:mv /root/ssh/id_rsapub /root/ssh/authorized_keys),再执行:chmod 600 /root/ssh/authorized_keys 修改权限。
2、修改/etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存。
3、重启sshd服务,Debian/Ubuntu执行/etc/initd/ssh restart ;CentOS执行:/etc/initd/sshd restart。
三、客户端测试使用密钥登录
1、使用putty登录
putty使用的私钥文件和Linux服务器或XShell的私钥格式不同,如果使用putty的话,需要将Linux主机上生成的id_rsa文件下载的本地。运行putty压缩包里面的puttygenexe,选择Conversions-Import key选择私钥文件id_rsa,输入密钥文件的密码,会出现如下界面:
点击“Save Private Key”,将私钥保存为id_rsappk
运行putty,在Host Name填写:root@主机名或ip
如果设置了密钥密码,出现:Passphrase for key “imported-openssh-key”时输入密钥密码。
如果设置没问题就会登录成功,出现用户提示符。
2、XShell登录
运行XShell,选择菜单File-New,按如下提示填写:
打开创建好的Session
如果设置没问题就会登录成功,出现用户提示符。
3、Linux客户端登录测试
在Linux客户端执行:chmod 600 /root/id_rsa 再执行:ssh root@wwwvpsernet -i /root/id_rsa /root/id_rsa为私钥文件,第一次链接可能会提示确认,输入yes即可,再按提示输入密钥密码,没有问题就会出现用户提示符。
四、修改远程Linux服务器sshd服务配置
1、修改/etc/ssh/sshd_config 文件
将PasswordAuthentication yes 修改成 PasswordAuthentication no
2、重启sshd服务
Debian/Ubuntu执行/etc/initd/ssh restart ;CentOS执行:/etc/initd/sshd restart。
ok,设置完成。
再提醒一下一定要保存好Putty私钥文件id_rsappk或Linux服务器下载下来的id_rsa私钥文件
最近有朋友问小编如何远程连接linux服务器,有时候我们对服务器进行运维,经常会需要查看服务器是否健康运行,可以通过远程连接Linux服务器来实现,那么我们应该如何进行远程登录呢?别着急,小编这就为大家带来linux远程登录服务器的方式图文步骤,希望能够解答大家的疑惑。
linux远程登录服务器的方式图文步骤:
1、远程登陆linux服务器需要下载一个软件,非常好用,名字是SecureCRT5,百度搜索有很多;
2、运行安装包,一路下一步就可以了;
3、安装好后,运行该软件;
4、点击左上角第二个带闪电的图标,快速新建一个连接;
5、根据情况填服务器地址和端口,其他保持默认即可;
6、点击确定后,弹出对话框,要求输入用户名;
7、输入用户名点确定,提示输入密码;
8、这样就连上了,可以输入命令,和linux的端口一样的操作,这个软件优势在于支持复制粘贴,有很多很长的命令或者字符,只需要粘贴就可以了。
好了,以上就是关于如何远程连接linux服务器的全部内容了,希望本篇linux远程登录服务器的方式图文步骤对你有帮助。
首先进入/etc目录下,/etc目录存放的是一些配置文件,比如passwd等配置文件,要想使用ssh远程登陆,需要配置/etc/ssh/sshd_config文件里的配置信息,使用vim编辑,在命令行模式下输入 vim /etc/ssh/sshd_config,进入之后,按“i”进入编辑状态,在其文件里找到并修改为:PasswordAuthentication yes , PermitRootLogin yes两行即可,
修改之后,按“esc”退出,并按“:wq”保存并退出,或直接按“:x”直接保存退出,(注意:此处的x为小写x,大写X是将文件内容加密,使用时细心注意),
退出编辑模式之后,回到命令模式,输入 sevice ssh start/stop/restart/status,启动/停止/重启/状态,选择start启动ssh服务。
如果上面开启SSH服务的命令不能用,可以使用命令:sudo service sshd start 试试,检查是否开启SSH服务使用命令:ps -e | grep sshd
此时可以查看ssh状态是否为运行状态,运行状态即可使用ssh远程登陆。
使用“ifconfig”命令查询ip地址
使用ssh登陆时,输入主机(linux的ip地址),账号,密码登陆!
如果需要远程连接SSH,需要把22端口在防火墙上开放,关闭防火墙,或者设置22端口例外 /etc/initd/iptables stop
怎么通过ssh登陆可参看下一篇“通过ssh实现远程登陆服务器!”
大致步骤为:
SSH 服务配置文件位置
/etc/ssh/sshd_config
# 修改配置
PasswordAuthentication yes
PermitRootLogin yes
# 启动SSH 服务
sevice ssh start/stop/status
安装SSH:yum install ssh
启动SSH: service sshd start
设置开机运行: chkconfig sshd on
常用两个方式:字符界面、图像界面
字符界面
常用putty和SecureCRT,下面以SecureCRT截图下
图像界面
有时候会喜欢用vncserver
21服务器上安装了桌面界面、tigerserver这样的服务端及设置
22本地使用vncserver远程上去
0条评论