ssh登录linux

2018-9-6

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

puTTY

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

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

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

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

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

appearance里可以设置puTTY字体,嫌字小可以在这里调大
ssh登录linuxssh登录linux

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

Xshell

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

打开xshell会有一个会话窗口,左下角可以设置取消。
ssh登录linux
添加新帐户
ssh登录linux
像puTTY一样输入目标linux的ip,不同的是xshell可以保存密码:选择password
ssh登录linux
首次连接也会安全提示,接受即可
ssh登录linux
Xshell比puTTY优势在于窗口标签管理方便、高效
ssh登录linux

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

**登录

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

如果你使用puTTY的话,puTTYgen就是用来生成**对的组件。点击generate后注意进度条上放小字:晃动鼠标加快生成**。
ssh登录linux
生成**后还需对**设置密码,也可以不设置。私钥名称也可以改为方便自己记忆管理的。最后点保存公钥(public key)和私钥(private key)。
ssh登录linux

以上完成了**生成,下面我们在目标机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登录linux
输入帐户名后直接验证登录,如果你给**设置了密码,还需要输入**密码。那样安全性高。
ssh登录linux

Xshell使用**登录,原理和puTTY是一样的。我试着在Xshell中倒入puTTY生成的**,没有成功。于是用Xshell生成**对,只看到了公钥,可能私钥直接保存内部了。
ssh登录linux
像puTTY那样,把生成的公钥内容复制到~/.ssh/authorized_keys中。以后各种**多了,可以用#开头的行注释。

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

命令行下登录linux

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

虚拟机克隆

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

关闭运行的虚拟机,在vmware找到克隆菜单,选择一个想克隆的状态:
ssh登录linux
选择创建链接克隆,占用磁盘空间小
ssh登录linux

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

使用openssh登录linux

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

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

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

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


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