ssh登录linux

作者: awsome365 | 来源:发表于2018-09-07 11:41 被阅读3次

    2018-9-6

    上一篇提到用ssh登录centos好处很多,许多linux系统管理员都在用ssh。在windows下ssh客户端主要有puTTY、Xshell、secureCRT、ssh secure shell。linux下有openssh,这是个命令行工具。这篇主要将puTTY和Xshell的使用。

    puTTY

    puTTY是开源免费软件。放恶意软件,建意到官网下载,或者百度、360、搜狗官方软件库。puTTY有许多组件,除了用来连接linux的,还有生成密钥的。可以下载打包好的安装包,方便一次安装完。

    安装完我们可以看到一共有四个组件:


    安装完

    puTTY登录介面,输入账户。起个名字然后点击save保存,这样方便以后使用。如果不知道怎么输入可以参考:配置ip

    输入帐户

    除了登录介面,puTTY还有丰富的设置选项。translation里设置字符集,建意选UTF-8。这是国际标准组织发布的字符编码库。咱们国家自主研发的是gbk编码库,在linux上使用可能出现乱码。


    字符集

    window里面有一个回看选项,可以适当设大一点,可以查看更多linux的终端输入输出。比如设成2000行,puTTy就会保存2000行终端记录。


    回看

    appearance里可以设置puTTY字体,嫌字小可以在这里调大


    字体 字体 设置好点击“open”就可以登录centos了。连接后需要验证用户名和密码。 登录

    Xshell

    xshell是收费软件,官方对个人和学校免费。所以xshell也可以免费使用。还是建意去官网或者靠谱的第三方软件库下载。现在其已经出6.0版本,我看搜狗软件库还是5.x版本。

    打开xshell会有一个会话窗口,左下角可以设置取消。


    xshell

    添加新帐户


    添加帐户
    像puTTY一样输入目标linux的ip,不同的是xshell可以保存密码:选择password
    验证

    首次连接也会安全提示,接受即可


    安全提示
    Xshell比puTTY优势在于窗口标签管理方便、高效
    标签

    但我觉得Xshell做的不好的地放在于登录管理不入puTTY严谨,比如可以直接记录密码可能别人使用你电脑造成损失。所以个人要管理好身份验证。

    密钥登录

    用ssh客户端登录,每次都要验证身份很烦,或者像Xshell那样保存密码有安全隐患。我们可以用密钥对验证登录。密钥对是又公钥和私钥组成,公钥是公开的,放在目标机器上,私钥用户保管,用来解密。

    如果你使用puTTY的话,puTTYgen就是用来生成密钥对的组件。点击generate后注意进度条上放小字:晃动鼠标加快生成密钥。


    生成密钥

    生成密钥后还需对密钥设置密码,也可以不设置。私钥名称也可以改为方便自己记忆管理的。最后点保存公钥(public key)和私钥(private key)。


    密码

    以上完成了密钥生成,下面我们在目标机linux上放置公钥。ssh登陆linux,输入命令mkdir .ssh(在家目录下创建.ssh文件夹),然后输入命令vi .ssh/authorized_keys(创建一个文件,并用vi编辑它),在vi里按a经入编辑模式,把刚刚生成的公钥内容复制进来,然后按Esc键,再输入:wq退出vi。最后修改一下这个文件的权限:chmod 700 .ssh/authorized_keys

    最后你还要查看一下centos的selinux有没有关掉。输入getenforce,如果返回“enforcing”,那就需要输入setenforce 0。或者编辑/etc/selinux/config,把enforcing改为disabled。

    现在就可以用密钥验证身份登录centos了:打开新的puTTY,加载私钥然后在session里保存:


    ssh

    输入帐户名后直接验证登录,如果你给密钥设置了密码,还需要输入密钥密码。那样安全性高。


    登陆

    Xshell使用密钥登录,原理和puTTY是一样的。我试着在Xshell中倒入puTTY生成的密钥,没有成功。于是用Xshell生成密钥对,只看到了公钥,可能私钥直接保存内部了。


    公钥

    像puTTY那样,把生成的公钥内容复制到~/.ssh/authorized_keys中。以后各种密钥多了,可以用#开头的行注释。

    用Xshell登陆前,编辑会话属性,在身份验证里更改验证方法为public key,选择对应私钥。


    加载私钥

    命令行下登录linux

    linux怎么登录linux呢?linux下有ssh客户端有openssh,大部份发行版上都有。输入ssh --version查看是否安装。

    虚拟机克隆

    做这个实验需要多台机器,如果再安装一边耗时耗力。vmware上可以快速克隆虚拟机。

    关闭运行的虚拟机,在vmware找到克隆菜单,选择一个想克隆的状态:


    状态

    选择创建链接克隆,占用磁盘空间小


    链接克隆

    克隆的虚拟机和原虚拟机完全一样,所以我们要修改相互冲突的设置,比如ip:vi /etc/sysconfig/network-scripts/ifcfg-XXX。最好也更改下主机名,方便区分。

    使用openssh登录linux

    先用xshell登陆两太linux虚拟机,做好试验准备。

    由于openssh是命令行工具,所以需要输入命令:ssh username@ip -p 22。“-p 22”指定目标机sshd服务端口。sshd默认开放22端口,可以不写。username是以什么帐户名登录目标机,不写的话代表以当前机用户名登陆。ip是目标机ip,不知道怎么获得可以参考配置ip

    连接上目标机后验证身份正确就成功登陆了。openssh也可以使用密钥验证,包括密钥对生成和登陆。生成密钥对使用ssh-keygen命令,在终端输入后根据提示保存公钥和私钥,然后参考前面写的,把公钥保存到目标机~/.ssh/authorized_keys中。

    需要注意,如果多次生成密钥对,最好指定路径生成,防止覆盖了之前生成的。


    最后强调一下,centos的selinux最好关了。亲身经历:没有关selinux,虽然能登陆上linux,但是不能上网。

    相关文章

      网友评论

        本文标题:ssh登录linux

        本文链接:https://www.haomeiwen.com/subject/ypufgftx.html