CentOS如何开启ssh远程连接

时间:2024-03-12 14:42:05

假设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

此时就不需要密码就可以登录了。