<i id='o3nh'><div id='o3nh'><ins id='o3nh'></ins></div></i>

      <code id='o3nh'><strong id='o3nh'></strong></code>

      <dl id='o3nh'></dl>

    1. <tr id='o3nh'><strong id='o3nh'></strong><small id='o3nh'></small><button id='o3nh'></button><li id='o3nh'><noscript id='o3nh'><big id='o3nh'></big><dt id='o3nh'></dt></noscript></li></tr><ol id='o3nh'><table id='o3nh'><blockquote id='o3nh'><tbody id='o3nh'></tbody></blockquote></table></ol><u id='o3nh'></u><kbd id='o3nh'><kbd id='o3nh'></kbd></kbd>

    2. <acronym id='o3nh'><em id='o3nh'></em><td id='o3nh'><div id='o3nh'></div></td></acronym><address id='o3nh'><big id='o3nh'><big id='o3nh'></big><legend id='o3nh'></legend></big></address>

        <span id='o3nh'></span>
        <ins id='o3nh'></ins>

        <i id='o3nh'></i>
          <fieldset id='o3nh'></fieldset>

          Linux远程登录和无密码登录方法

          • 时间:
          • 浏览:5
          • 来源:124软件资讯网

              一、远程登录要领

              SSH 是一种宁静通道协议 , 主要用来远程登录 。在 RHEL 5 系统中使用的是 OpenSSH 服务器由 openssh  , openssh-server 等软件包提供的 ( 默认已经安装 )  ,并以将 sshd 添加为尺度的系统服务 。 使用要领如下:

              代码如下:

              $ ssh host

              $ ssh username@host

              $ ssh -p 222 username@host

              -p: 指定会见端口 ; 若是省略该参数 , 则默认会见 SSH 服务的默认端口 22;

              若是是第一次登录对方主机 , 则系统会泛起一下提醒 :

              代码如下:

              The authenticity of host 'host(192.168.0.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)?

              这段话是说  ,无法确认 host 主机的真实性 ,只知道它的公钥指纹  ,问你还想继续毗连吗?

              输入 yes 之后  ,系统会泛起一句提醒  ,表现 host 主机已经获得认可  。

              代码如下:

              Warning: Permanently added 'host, 192.168.0.21 ' (RSA) to the list of known hosts.

              然后要求输入密码:

              代码如下:

              $ Password: (enter password)

              此时  ,若是神秘准确 ,就可以登录了  。

              二、无密码登录要领

              在信托情况下 ,若是每次远程登录时  ,都要输入密码  ,感受太铺张时间了  ,尤其是密码很庞大、维护的服务器比力多的情形下 。

              于是有了正常需求:不用输入密码即可实现远程登录  。

              实现步骤如下:

              1 、当地天生 一对秘钥文件 ( 公钥和私钥 ) ;

              代码如下:

              $ ssh-keygen

              # 以上下令等价于 ssh-keygen -t rsa

              #-t: 指定密钥的类型 , 默以为 SSH-2 的 rsa 类型 ;

              运行上面的下令后  ,系统会泛起一系列提醒  ,可以一起回车  。 特殊说明  ,其中有一个问题是  , 要不要对私钥设置口令( passphrase )  ,若是担忧私钥的宁静  ,可以设置一个 。运行竣事以后 ,会在 ~/.ssh/ 目录下新天生两个文件: id_rsa.pub 和 id_rsa  。前者公钥  ,后者是私钥  。

              2 、将公钥传送到远程主机 host 上面 ;

              代码如下:

              $ ssh-copy-id user@host

              经由以上两步之后  ,就可以实现无密码远程登录了 ( 远程主机将用户的公钥生存在 ~/.ssh/authorized_keys 文件中 ) 。

              三、常见问题:

              1、 天生密钥并上传至远程主机后  ,仍然无法实现无密码登录?

              打开远程主机的 /etc/ssh/sshd_config 这个文件  ,以下几行作废注释  。

              代码如下:

              #RSAAuthentication=yes

              #PubkeyAuthentication=yes

              #AuthorizedKeysFile=.ssh/authorized_keys

              然后  ,重启远程主机的 ssh 服务 。

              代码如下:

              #ubuntu 系统

              $ service ssh restart

              #debian 系统

              $ /etc/init.d/ssh restart

              2 、执行 ssh-copy-id 下令时  ,远程服务器的 SSH 服务端口不是 22  ,如下:

              代码如下:

              $ ssh-copy-id nameB@machineB

              ssh: connect to host machineB port 22: Connection refused

              则使用如下下令:

              代码如下:

              $ ssh-copy-id "-p 22000 nameB@machineB"

              四、增补内容:

              代码如下:

              $ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2

              $ ssh-copy-id -u eucalyptus -i /home/ eucalyptus/.ssh/id_rsa.pub eucalyptus@remote_host

              #-u : 给 eucalyptus 用户 设置 无密码上岸

              # -i : 当没有值通报时或 ~/.ssh/identity.pub 文件不行会见 ( 不存在 ) ,ssh-copy-id 将显示 如下错误

              /usr/bin/ssh-copy-id: ERROR: No identities found

              SSH 提供两种方式的登录验证:

              1 、密码验证:以服务器中当地系统用户的登录名称 ,密码举行验证 。

              2 、秘钥对验证:要求提供相匹配的秘钥信息才气通过验证  。通常先在客户机中建立一对秘钥文件 ( 公钥和私钥 )  ,然后将公钥文件放到服务器中的指定位置  。

              注重:当密码验证和私钥验证都启用时  ,服务器将优先使用秘钥验证 。

              五、SSH服务的设置文件 :

              sshd 服务的设置文件默认在 /etc/ssh/sshd_config  ,准确调整相关设置项 ,可以进一步提高 sshd 远程登录的宁静性  。

              设置文件的内容可以分为以下三个部门:

              复制代码

              代码如下:

              #SSH服务器监听的选项

              #监听的端口

              Port 22

              #使用SSH V2协议

              Protocol 2

              #监听的地址为所有地址

              ListenAdderss 0.0.0.0

              #//克制DNS反向剖析

              UseDNS no

            #用户登录控制选项

              #是否允许root用户登录

              PermitRootLogin no

              #是否允许空密码用户登录

              PermitEmptyPasswords no

              #登录验证时间(2分钟)

              LoginGraceTime 2m

              #最大重试次数

              MaxAuthTries 6

              #只允许user用户登录  ,与DenyUsers选项相反

              AllowUsers user

            #登录验证方式

              #启用密码验证

              PasswordAuthentication yes

              #启用秘钥验证

              PubkeyAuthentication yes

              #指定公钥数据库文件

              AuthorsizedKeysFile .ssh/authorized_keys

              检察 SSH 服务状态下令: /etc/init.d/sshd status

              重新启动 SSH 服务下令: /etc/init.d/sshd restart

              检察 ssh 软件的版本号下令: $ ssh -V

              OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003 # 讲明该系统正在使用 OpenSSH

              ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu # 讲明该系统正在使用 SSH2

              当远程主机的公钥被接受以后 ,它就会被生存在文件 $HOME/.ssh/known_hosts 之中 。下次再毗连这台主机  ,系统就会认出它的公钥已经生存在当地了  ,从而跳过忠告部门  ,直接提醒输入密码  。

              每个 SSH 用户都有自己的 known_hosts 文件  ,此外系统也有一个这样的文件  ,通常是 /etc/ssh/ssh_known_hosts  ,生存一些对所有用户都可信任的远程主机的公钥  。