本地环境:Windows10
工具:MobaXterm
服务器环境:腾讯云(ubuntu)
设置MobaXterm的根目录和用户目录的路径
因为在MobaXterm中这两个目录的路径默认是<Temp directory>。每次关闭应用,临时文件夹中的数据都会清除。所以为了能保存密钥对,要先把路径修改到固定位置。
在F盘创建一个文件夹F:\MobaXtermRoot
点击Settings选项
选中General选项卡,选择F:\MobaXtermRoot\slash作为根目录(slash会自动创建)
点击OK,重启应用
然后同样的方法,选择F:\MobaXtermRoot\slash\home\mobaxterm作为home目录
(为什么不直接是F:\MobaXtermRoot\slash\home呢?是因为这里参照了<Temp directory>时的设置,可以用红色箭头所指的按钮查看目录所在位置。)
生成密钥对
打开MobaXterm,创建一个local terminal
输入命令生成密钥对(默认保存在/home/mobaxterm/.ssh),私钥id_rsa,公钥id_rsa.pub
ssh-keygen
手动上传公钥(方法1)
这种方式只能绑定到云服务器默认创建的ubuntu用户,觉得不方便的同学可以直接看方法2
云服务器控制台找到创建密钥
名称随便取一个,选择“使用已有公钥”,将手动生成的id_rsa.pub文件内容粘贴过来
填好后点击确定,然后找到刚才创建的密钥,点击“绑定/解绑实例”,按提示操作即可
手动上传公钥(方法2)
这种方式需要指定一个已经存在的用户,公钥会上传到该用户的~/.ssh/authorized_keys文件中
1.创建新用户
想要绑定的用户已经存在的同学可跳过
1.1切换root
登录云服务器网站,控制台连接服务器
设置root密码(因为首次登录,root密码还未设置),输入命令,依照提示完成设置
passwd root
设置完成后切换root用户
su root
1.2创建新用户usr
adduser usr
修改usr密码
passwd usr
2.将公钥上传至服务器
将生成的公钥/home/mobaxterm/.ssh/id_rsa.pub上传到服务器,默认路径~/.ssh/authorized_keys
ssh-copy-id usr@x.x.x.x
完整参数
ssh-copy-id [-i [identity_file]] [user@]machine
连接(第一次需要输入用户密码)
ssh usr@x.x.x.x
注:如果一个用户有多个私钥需要管理,就要配置~/.ssh/config文件
另一种在云服务器控制台创建并绑定密钥对的方法
这种方法同样只能绑定到云服务器默认创建的ubuntu用户
1.创建密钥对
云服务器控制台找到创建密钥
选择“创建新密钥对”,取个好记的名字
密钥对创建后,需要指定路径将私钥下载至本地,将其保存到我们设置的home目录路径下的.ssh文件夹(没有.ssh文件夹就手动创建一个)
F:\MobaXtermRoot\slash\home\mobaxterm\.ssh\ssh_usr
2.绑定密钥对
这个步骤会自动将密钥对的公钥上传至服务器中ubuntu用户的~/.ssh/authorized_keys
点击“绑定/解绑实例”,按提示操作即可