Azure 中 Linux VM 的 SSH 公钥和私钥对

  1. ssh-keygen -t rsa  产生公钥和私钥对
  2. ssh-copy-id   采用此命令将公钥copy到需要远程的虚拟机authorized_keys文件中;
  3. 经过排查您的配置都是正确的,通过命令行所生成的一对密钥肯定是没有任何问题的,查看了公钥的写入也是正常的,是匹配的;文件的权限也都没有问题;
  4. 提供的tuser 没有修改configure 的配置权限,添加了sudo 的权限;

但是,您还需要在登录目地端(虚机2(10.0.1.5))进行两项配置,然后方可从虚机1(10.0.1.4)(客户端)去登录虚机2(目地端服务器)。这两项配置为:

  1. 执行命令(vim /etc/ssh/sshd_config)对其进行以下配置

l  对RSAAuthentication & PubkeyAuthentication取消掉禁用符号“#”

l  把PasswordAuthentication设置为no

  1. 执行命令(setenforce 0)把selinux设置为Permissive,这个设置为当前暂时的设置。请在测试密钥登录没有问题的情况下,在下次重启系统之前执行命令(vim /etc/selinux/config),然后把SELINUX改为disabled,这样就可以永久关闭掉selinux,以保证可以实现密钥的登录方式

现在您可以通过虚机1(10.0.1.4)的私钥去登录虚机2(10.0.1.5)的系统了。

  1. 如果要开启root 账户,可以修改root账户的密码sudo passwd root;
  2. 但是如果为了安全起见SSH不允许Root登陆的方法的话可以采用如下方式:

vim /etc/ssh/sshd_config

把PermitRootLogin yes

改成:

PermitRootLogin no

然后重启sshd服务:

Service sshd restart

原文地址:https://www.cnblogs.com/junjiany/p/7644241.html