ubuntu系统远程登录linux计算机
2016-11-06 14:22
267 查看
通过ssh实现远程登录linux计算机,并且可以执行命令
接下来,A通过客户端进程向B机器发送链接请求,B机器的服务端进程接收到请求,进行验证等其他操作与A建立链接
至此,电脑A能够远程操作电脑B
安装完成后,可以尝试登录本机
首次登录会有个询问,输入yes,回车
{% asset_img ssh登录本机.png 询问 %}
这时候会提示输入密码,输入当前用户的登陆密码,回车,登录成功
{% asset_img ssh.png 登录到本机 %}
输入exit退出登录
此时ssh程序的安装就完事了
{% asset_img ssh无参数.png ssh无参数登录 %}
此时,ssh 会尝试用当前用户作为用户名来登录服务端电脑,即上图中尝试使用nairoj这个用户名登录目标电脑,如果目标电脑没有nairoj这个用户呢?
使用-l参数指定要登录的用户,指定用root账户登录:
{% asset_img sshroot.png 指定用户名 %}
接下来输入密码,登录成功!
{% asset_img sshrootlogin.jpg root登录成功 %}
上图最后一行
说明此时命令行已经相当于目标机的命令行了,
在这上面执行的命令即为在目标机上执行~
密码验证
密钥验证
上面登录的方式就是密码验证,只要知道目标机的用户密码就可以登录,这种验证方式的有一个缺点,不能保证客户机连接上的就是目标机,可能存在有‘中间人’, 还有就是每次登录都需要输入密码。
再说一下密钥验证的登录方式:
1.先
2.客户机采用非对称加密算法rsa建立一对密钥(一个公钥,一个私钥)
说明:
若不存在.ssh文件夹,先执行一次
非对称加密算法生成的密钥,公钥加密的文件只有密钥能解密,私钥加密的文件只有公钥能解密
上面的命令执行完,在.ssh文件下有多出两个文件
3.将公钥上传到服务端的(这里将公钥上传到用户目录下),
这里会要求输入目标机用户的登陆密码
出现下图即为传输成功,
{% asset_img sshtran.png 公钥传输完毕 %}
此时在服务端机器的用户目录下,可以找到这个文件
4.用密码登录的方式远程登录服务端,将公钥加入授权
5.此时已经可以使用密钥验证的方式登录服务端电脑了
这一次不会要求输入密码,直接登录成功
在其中写入自己常用的ip和并且给它取个名字,保存
{% asset_img sship.png sship%}
上图的144.111.111.56 即为常用的ip,myesc 是给它取得别名
以后进行远程登陆时,执行
就可以进行远程登录
参考资料
http://www.powerxing.com/install-hadoop/
http://www.linuxidc.com/Linux/2012-12/76277.htm
http://baike.baidu.com/link?url=20nZ-d-z36mEtUAFrc6ddHReyKm7E9Aw88BVrY69rTkFXugQ1NOFcnImzHMIDNXZYWUnOQiLrNh7QrxtN6iu1_
ssh是一种安全协议,主要对其的使用一般在远程登录(如A电脑通过命令行远程操作B电脑)和为其他网络服务提供安全协议(常见的如sftp)
两台机器通过ssh建立链接的大概流程
首先,ssh由客户端和服务器端组成,若电脑A想要通过ssh远程控制电脑B,A则为客户端,B则为服务端;接下来,A通过客户端进程向B机器发送链接请求,B机器的服务端进程接收到请求,进行验证等其他操作与A建立链接
至此,电脑A能够远程操作电脑B
开始配置
安装客户端程序
ubuntu系统自带有ssh-client,使用ssh命令即可发起连接请求
安装服务端程序
在被登录的linux电脑上执行$ sudo apt-get update //更新一下apt $ sudo apt-get install openssh-server //安装ssh服务器程序
安装完成后,可以尝试登录本机
$ shh localhost
首次登录会有个询问,输入yes,回车
{% asset_img ssh登录本机.png 询问 %}
这时候会提示输入密码,输入当前用户的登陆密码,回车,登录成功
{% asset_img ssh.png 登录到本机 %}
输入exit退出登录
此时ssh程序的安装就完事了
开始远程登录
执行,图中ip一样替换成想要登录的服务端ip{% asset_img ssh无参数.png ssh无参数登录 %}
此时,ssh 会尝试用当前用户作为用户名来登录服务端电脑,即上图中尝试使用nairoj这个用户名登录目标电脑,如果目标电脑没有nairoj这个用户呢?
使用-l参数指定要登录的用户,指定用root账户登录:
{% asset_img sshroot.png 指定用户名 %}
接下来输入密码,登录成功!
{% asset_img sshrootlogin.jpg root登录成功 %}
上图最后一行
root@iZm5ec880z2roqeog3q978Z:~#
说明此时命令行已经相当于目标机的命令行了,
在这上面执行的命令即为在目标机上执行~
免密码登录
ssh提供了两种验证方式密码验证
密钥验证
上面登录的方式就是密码验证,只要知道目标机的用户密码就可以登录,这种验证方式的有一个缺点,不能保证客户机连接上的就是目标机,可能存在有‘中间人’, 还有就是每次登录都需要输入密码。
再说一下密钥验证的登录方式:
1.先
exit退出刚刚的远程登录状态,回到本机
2.客户机采用非对称加密算法rsa建立一对密钥(一个公钥,一个私钥)
$ cd ~/.ssh/ #~表示用户目录,即‘/usr/你的用户名/’ $ ssh-keygen -t rsa #用rsa算法建立一对密钥,中间的提示一直按回车即可
说明:
若不存在.ssh文件夹,先执行一次
ssh localhost
非对称加密算法生成的密钥,公钥加密的文件只有密钥能解密,私钥加密的文件只有公钥能解密
上面的命令执行完,在.ssh文件下有多出两个文件
id_rsa和
id_rsa.pub,
.pub后缀的文件即为公钥
3.将公钥上传到服务端的(这里将公钥上传到用户目录下),
这里会要求输入目标机用户的登陆密码
#将user替换成要登录的用户名,ip替换成服务机的ip地址 $ scp ~/.ssh/id_rsa.pub user@ip:/home/user/
出现下图即为传输成功,
{% asset_img sshtran.png 公钥传输完毕 %}
此时在服务端机器的用户目录下,可以找到这个文件
4.用密码登录的方式远程登录服务端,将公钥加入授权
$ ssh -l user ip # 登录,这里会要求输入密码 $ mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在则忽略 $ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys #将用户目录下的客户机公钥加入授权 $ exit #退出登录,回到本机
5.此时已经可以使用密钥验证的方式登录服务端电脑了
$ ssh -l user ip
这一次不会要求输入密码,直接登录成功
这种验证方式的原理在于:将客户机A的公钥存入服务机,当客户机A发起ssh登录的请求时,服务机生成一个随机数X,用A的公钥加密随机数X后发给A, A用自己的密钥解密发来的数据后,将解密得到的随机数发回给服务机 如果发回的随机数与X相同,则验证成功,实现远程登录且不用人工输入密码
最后
因为每次登录都输入ip很麻烦,可以将经常登录的ip写到/ect/hosts文件
$ sudo gedit /ect/hosts
在其中写入自己常用的ip和并且给它取个名字,保存
{% asset_img sship.png sship%}
上图的144.111.111.56 即为常用的ip,myesc 是给它取得别名
以后进行远程登陆时,执行
$sudo -l user myesc
就可以进行远程登录
参考资料
http://www.powerxing.com/install-hadoop/
http://www.linuxidc.com/Linux/2012-12/76277.htm
http://baike.baidu.com/link?url=20nZ-d-z36mEtUAFrc6ddHReyKm7E9Aw88BVrY69rTkFXugQ1NOFcnImzHMIDNXZYWUnOQiLrNh7QrxtN6iu1_
第一次写博文,错误的不通顺的无法理解的地方欢迎指出,文笔是真烂 = =
相关文章推荐
- Ubuntu通过ssh远程登录linux系统,详细安装方法
- Window 7 远程登录amazon EC2中的linux系统(ubuntu server)(配置桌面系统)
- Ubuntu下通过sftp远程登录linux系统,并实现上传、下载文件
- Ubuntu下通过sftp远程登录linux系统,并实现上传、下载文件
- 【SSH】 Ubuntu远程登录linux系统
- [置顶] 【PE】通过SecureCRT远程登录telnet连接虚拟机的linux系统(CentOS/Ubuntu)
- Ubuntu下通过sftp远程登录linux系统,并实现上传、下载文件
- ubuntu16.04如何远程远程登录linux系统
- Windows远程登录(ubuntu)linux系统
- Ubuntu下通过sftp远程登录linux系统,并实现上传、下载文件
- Unix/Linux 系统自动化管理: 远程登录篇
- XRDP远程登录Linux系统(rhel5.*版本)
- linux系统下无法用SecureCRT及putty工具远程登录系统方法
- Linux下登录windown系统远程桌面(3389)
- windows 远程登录linux (ubuntu虚拟机)
- ubuntu系统怎么使用root用户登录+李明讲的linux 笔记
- 第五章 Linux系统的远程登录
- Linux下登录windown系统远程桌面(3389)(转)
- window下使用vnc远程登录ubuntu/linux图形界面
- Linux系统自动化管理: 远程登录