阅读背景:

Linux下远程登录阿里云服务器

来源:互联网 

购买阿里云服务器

学生党买个阿里云服务器,每个月只要十元,可以自己实践搭建服务器。
在账号管理目录下–>学生认证–>云翼计划。没有认证的,按照操作认证一下就好了。

配置不能选择,只有一种,不过你可以选择一下环境和地域。

购买完成后,创建实例。

SSH远程连接云服务器

SSH命令使用可以参考阮一峰这篇博客:https://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.htm

登录命令

在本地终端运行以下命令,登录到云服务器

$ ssh userName@hostIP

userName为云服务器用户名,默认是root,@符号后面接云服务器的公网IP地址。注意是公网IP,不要弄成内网IP。

登录后输入密码就登录成功了。

第一次登录会弹出下面的对话:

$ ssh user@host
  The authenticity of host 'host (12.18.429.21)' can't be established.
  RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
  Are you sure you want to continue connecting (yes/no)?

这里是为了验证不被中间人攻击。选yes好了。

可能遇到的问题

登录中可能遇到permission denied的错误。按照以下步骤去排除。
1. 确认你的密码没有错误,密码是云服务器系统用户的登录密码,也就是上面userName的密码。你还可以通过网页端远程连接到云服务器,通过less /var/log/auth.log查看登录日志,寻找登录失败的原因。

2. 阿里云服务器的访问是设置了限制的。重新配置一下。配置方法参考这个帖子https://segmentfault.com/q/1010000011349032/a-1020000011349275

公钥登录

每次登录都要输入密码很麻烦,我们可以采用密钥对来避免。
Linux命令ssh-keygen可以用来生成一个秘钥对,秘钥对一个是公钥一个是秘钥,秘钥是本机自己使用,公钥是给别人用。

1 生成秘钥对
在本地主机运行ssh-keygen命令,全部选择默认即可(按回车键)。如果本机已经生成过,会有个Overwrite选择,选择y就好了。

$ ssh-keygen


这是你可以查看用户目录下.ssh文件夹,里面会有id_rsa和id_rsa.pub。id_rsa就是秘钥,id_rsa.pub就是私钥。

2 将公钥保存到云服务器
如何将文件传送到远程服务器,会使用到scp命令。
**将本地的公钥发送到远端的用户目录。**scp之后为本地要传输文件的路径,@符号之前是登录用户名,@符号和冒号之间为目的IP地址,冒号后为存储接受文件的文件夹路径。scp命令详细解释请移步至:https://www.cnblogs.com/peida/archive/2013/03/15/2960802.html

$ scp ~/.ssh/id_rsa.pub username@hostIP:~/
$ scp -r ~/.ssh/ username@hostIP:~/    //-r选项发送文件夹

将公钥追加到文件authorized_keys的末尾

cat id_dsa.pub >> ~/.ssh/authorized_keys

3 登录
重启云服务器后,本地运行一下命令就能直接登录了,不再需要密码。

$ ssh userName@hostIP

参考

[1] SSH原理与运用(一):远程登录——阮一峰
[2] ssh 远程登录云主机 出现permission denied
[3] ssh-keygen的使用方法
[4] 每天一个linux命令(60):scp命令


分享到: