通过SSH服务,实现本机(Ubuntu)与远程服务器(腾讯云服务器提供的Ubuntu系统)之间的连接,能够在本地对服务器进行操作。
实现方法
实现SSH连接需要有SSH客户端和SSH服务端。Ubuntu貌似自带了SSH客户端。首先我们通过网页的方式登录上远程服务器(腾讯云的官网,控制台中可点击登录,输入账号和密码即可登录使用)。
在服务器上输入命令:sudo apt-get install openssh-server安装SSH服务端。
在客户端上,先切换为我们想要实现远程连接的本地用户账号,执行以下命令:
su-user//切换用户
ssh-keygen-t rsa//生成密钥文件,之后不需要输入密码,按三次回车键即可。
将生成的公钥文件发送到服务端,这里要求输入服务端账号密码:
scp.ssh/id_rsa.pub user 192.168.1.100:/home/user/
在服务端,自己重新建立如下文件夹。可能已经存在该文件夹,但是要注意该文件夹权限,如果该文件夹不属于你想要连接的服务端的用户,应该删除并在你想要连接的服务端用户上重新建立该文件夹,修改权限为700.
mkdir-p/home/user/.ssh/
在服务端执行如下命令:
mv/home/user/id_rsa.pub/home/user/.ssh/authorized_keys
这样子之后就可以在服务端启动服务了
service sshd start
在本地机器上进行连接:
ssh user 192.168.1.100
这样子你就可以对服务器进行操作了!
注意事项
如果一开始在生成密钥时你使用了密码,那么以后每次连接都会要求你输入密码以成功读取私钥。要求如下:
Enter passphrase for key'/home/user/.ssh/id_rsa':
一定要注意文件的权限问题,否则会出错。大概标准如下:
#chmod 700.ssh
#chmod 600 authorized_keys
以上操作是通过密钥的方式来实现远程连接。如果直接通过用户口令的方式也是可以,那就不需要如上生成密钥的过程了。但是安全性不够高,而且每次连接都要输入密码比较麻烦。
如果要求只能通过密钥连接,那么可以修改服务端的sshd_config配置文件。将被注释掉的#PasswordAuthentication yes改为PasswordAuthentication no。但是这样之后将不可以通过腾讯云服务器控制台登入远程服务端。