因为Google云服务对新注册用户提供为期一年的300美金赠金,就想着在GCP上玩一下。可是由于是新手,对服务器的一些操做不是很熟悉,在GCP上新建立的Compute Engine没法在本地使用Xshell远程登陆,经过对比网上的一些资料,最后成功使用Xshell经过密钥形式登陆了服务器,特此记录一下,以防以后建立新机器的时候忘记。shell
拥有外币信用卡,而且成功注册了GCP得到赠金,建立了一台虚拟机实例。vim
# 切换到root用户
sudo su root
# 设置root用户密码
passwd
# 设置默认登陆用户密码(例:用户lauasuka)
passwd lauasuka
复制代码
此时的用户lauasuka会没法使用sudo命令,修改sudoers文件。浏览器
# 当前用户为root,切换目录到root的home下
cd ~
# 编辑修改/etc/sudoers文件
visudo
复制代码
修改sshd的配置文件,启用密钥认证登陆,同时关闭密码认证,并重启服务bash
vim /etc/ssh/ssh_config
## 修改下面参数的值
# PubkeyAuthentication yes #启用PublicKey认证
# PasswordAuthentication no #不适用密码认证登陆
systemctl restart sshd #重启sshd服务
复制代码
首先切换回普通用户,使用ssh-keygen生成密钥对(密钥密码可选),此时会在当前用户的家目录生成.ssh目录,而且目录下会生成公钥 id_rsa.pub 和私钥文件 id_rsa。服务器
将公钥追加到authorized_keys文件ssh
# 当前用户为普通用户
sudo cat id_rsa.pub >> {当前用户家目录}/.ssh/authorized_keys
# 更改authorized_keys文件权限为拥有者可读写
sudo chmod 600 {当前用户家目录}/.ssh/authorized_keys
复制代码
将当前用户私钥文件 id_rsa 下载到本地。 打开Xshell,点击 工具 > 用户密钥管理者,导入刚刚下载的id_rsa私钥工具
以后就能够像帐号密码登陆同样登陆服务器了,新增链接的时候 用户身份验证ui
其实操做步骤能够反过来,密钥对由本地Xshell生成,而后将本地生成的公钥上传到服务器并追加到authorized_keys文件中spa