假设VPS采用centos,再假设用较新版本6.5。
VPS上可能没有安装桌面,但一般来说都会安装ssh,并且防火墙默认开放22端口。
那就从ssh开始。
# 安装ssh,默认已安装好
# yum install ssh
# 启动ssh服务器端
# service sshd start
# chkconfig sshd on
ssh登陆
如果本地端是Linux
# ssh root@192.168.1.1
其中root表示的是登录用户名,192.168.1.1为主机的IP地址,当然也可以使用主机名、域名来指代IP地址。
# ssh 192.168.1.1
则会以当前客户端的用户名进行登录。
ssh无密码登录
但是每次输入密码登录十分麻烦,有没有一种方式可以让服务器能够确定我的身份,无需输入密码可以直接通过认证?
ssh除了使用密码验证外,还提供了一种公私密钥的验证方式。客户端生成一个私钥,并生成一个与之对应的公钥,然后将公钥上传到服务器上。下面是Linux示例。
在客户端生成私钥、公钥(注意,在客户端完成):
# ssh-keygen -t rsa
-t指定要创建的密钥类型,默认就是rsa了,所以只执行ssh-keygen是一样的。
期间会提示你输入你私钥的加密密码。如果需要完全脱离密码,此处可留空,直接回车,否则以后每次连接需要本地解锁。
完成后,会当前用户的主目录下的~/.ssh/路径下生成两个文件id_rsa与id_rsa.pub分别是私钥与公钥。
接下来,要把生成的公钥上传到服务器上,同样还是在客户端执行以下的代码。
# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.1
其中root可以修改为你想要自动登录的服务器端用户名,192.168.1.1修改为你的VPS主机名或IP地址。
最后,ssh登录远程服务器。
# ssh root@192.168.1.1
此时就不需要密码就可以登录了。