- 浏览: 378542 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (215)
- ubuntu (27)
- 虚拟机 (13)
- 数据库 (29)
- JAVA (40)
- 搜索 (23)
- 开发工具 (2)
- 产品 (2)
- 工具 (1)
- 应用服务器 (5)
- linux (17)
- log (1)
- 多线程 (3)
- 异常 (1)
- shell (6)
- 12306 ;互联网 (1)
- 持续集成&Hudson (4)
- js (1)
- JAVA OR-Map (1)
- 漏洞 (1)
- svn (1)
- MAVEN (3)
- 架构 (1)
- windows (1)
- json (1)
- web (3)
- jenkins (2)
- iptables (2)
- JAVA ssh (0)
- 项目管理 (1)
- tomcat (1)
- 安全 (1)
- 数据库 mysql (1)
- 性能 (1)
最新评论
-
sbwfgihc:
怎么用的啊,
<转>mysql 树查询语句 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
<转>Solr Suggest实现搜索智能提示 -
songsove:
请问您qq多少
solr 对拼音搜索和拼音首字母搜索的支持 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
<转>Solr Suggest实现搜索智能提示 -
norain1988:
这样就可以实现相关搜索了吗
solr 百度相关搜索类似功能的实现
1. 开始 SSH 连接
1.1 什么是 SSH 连接?
所谓 SSH, 即是指 Secure Sehll Protocal, 安全壳协议. 按我的理解, 这玩意儿的主要作用就是通过在本地主机与远程服务器之间建立一个安全的隧道, 从而实现安全的数据交换. 当这个加密的安全通道建立后, 我们就可以好好地利用他了~
1.2 通过终端建立 SSH 连接
Bash 内建了 ssh 命令来建立隧道. 首先, 打开终端, 输入命令:
$ ssh -D 7070 user@hostname.com
接着会出现一些信息, 然后会提示输入你的 SSH 帐户登录密码.
敲完密码, 回车确认后, 就建立起了 SSH 通道.
注意: 上面命令中的 “-D” 表示指定端口, 这里我使用本地的 7070 端口来与远程服务器建立通信. 更多的信息, 请使用 ‘man ssh’ 或者 ‘ssh –help’ 来查看.
1.3 通过图形化软件建立 SSH 连接
我刚开始上手 Ubuntu 时, 完全不懂 bash 操作. 去找了一款名为 gstm 的 SSH 图形工具, 以备急用. 要安装他, 可以先按 Alt + F1 呼出 Applications 菜单, 选择最后的 Ubuntu Sofware Center, 然后输入 gstm:
接着选中搜索结果, 点击 “Install”.
安装完成后, 在 Applications 的 Internet 项中可以找到他. 运行后界面如下所示:
gstm 提供的功能十分简单. 选择”Add”可以新增一个 SSH 帐户. 输入一个自己喜欢的名称后, 来到详细配置界面:
需要填写的, 就是 Login 与 Host. 前者是 SSH 的用户名, 后者是 SSH 连接的远程服务器.
搞定后, 点击 “OK” 就可以了. 注意如果希望选择某个指定的端口来建立通信, 可以在 Port redirection 中点击 “Add”, 然后在弹出的对话框中将 Type 选择为 local, 并填入相应的 Port, 最后点击 “OK”.
最后, 将 gstm 设置为随机启动, 就大功告成了.
选择 System, 在弹出的菜单中依次选择 Preference -> Startup Applications. 在弹出的对话框中选中 Startup Programs, 选择右则的 “Add”, 然后填入相应的项, 选择 “Add” 即可.
2. 建立 SSH 时避免重复输入密码, 实现无密码登录
现在我们可以轻松建立 SSH 连接了. 但是, 不管是命令行方式, 还是使用 gstm, 每次连接都需要输入密码, 太过麻烦. 特别是在使用类似于 scp 传输多个文件时, 更是烦得要死. 有没有办法可以即保正 SSH 的安全性, 又免于重复输入密码呢?
SSH 协议有想到这个问题. 所以除了传统的密码验证, SSH 又提供了使用密钥对来验证身份的方案. 所谓密钥对验证, 按我不专业的解释, 就是在本地生成一对密钥兄弟, 大哥是公钥, 小弟是私钥. 然后将大哥上传到远程服务器, 小弟则留守本地.
使用时, 远程服务器会首先生成一串随机数, 由大哥进行加密, 再将密文发送到本地. 留在本地的小弟拿到密文后, 用之前和大哥约定好的方法将其解密, 再将明文返回到服务器. 服务器一看, 哟, 解密正确, 于是验证成功. 由于公钥与私钥之间的解密方式是唯一的, 所以这种验证方式不仅可靠, 也避免了每次登录都重复输入密码.
Ubuntu 下内置了 SSH 密钥对的生成工具 ssh-keygen. 在 bash 中输入:
$ ssh-keygen -t rsa
参数 “-t” 是指密钥对的加密方式, 这里选择 RSA 算法. 除此之外还可以选择 SSH2 支持的 DSA 算法. 两种算法对于 SSH 密钥对的生成没有什么影响. 然后会出现如下提示:
Enter passphrase (empty for no passphrase):
这里需要输入的不是 SSH 登录密码, 而是用于加密小兄弟私钥的密码 — 很显然, 在密钥对验证中, 私钥无疑相当于自己的密码, 需要妥善保管. 这里就是设置一个密码来保护私钥. 以免私钥落入亡我之心不死的坏人手中, 造成极其巨大的影响. 当然了, 我们也可以选择不输入, 继续回车, 这就完成密钥创建了.
创建成功后, 可以进入 ~/.ssh 里看刚生成的密钥对. 其中 id_rsa 是保管私钥的地方, id_rsa.pub 就是公钥了. 接下来需要更改一下本地 .ssh 与远程服务器的 .ssh 文件夹权限. 这步相当重要.
chmod 755 .ssh // 将本地 .ssh 的权限设为 755
chmod 600 id_rsa // 将本地 .ssh 中的 id_rsa(私钥)的权限设为 600
更改权限后, 将公钥放到服务器上并修改权限, 就大功告成啦!
在 bash 中使用 scp 复制文件到远程服务器并重命名为 authorized_keys:
scp ~/.ssh/id_rsa.pub user@hostname.com:~/.ssh/authorized_keys
chmod 755 .ssh // 和本地一样的权限
chmod 644 authorzide_keys // 将公钥权限设为 644 即可.
大功告成! 再也不用输入烦人的密码了.
3. 进阶: 使用 ssh-agent
现在不需要输入密码即可建立 SSH 连接了. 但还是有例外 — 如果我们刚才设置了私钥的密码, 那么在每次连接时, 仍然需要输入私钥密码. 不设置的话, 似乎又觉得不大稳妥. 我在网上找到一篇教程, 使用 ssh-agent 似乎可以解决这个问题.
它的原理大概是, 在首次输入私钥的密码后, ssh-agent 会将密码保存在缓存中, 而在以后就不用再次输入密码了. 但当 bash 结束后再次启动, 则还是会提示输入一次密码 — 这也算是一个折衷的方案了吧.
不过我也没有真正使用过这个工具, 如果对此有兴趣, 可以移步到这里学习.
原链接<http://uxat.me/2011/03/ubuntu-ssh/>
1.1 什么是 SSH 连接?
所谓 SSH, 即是指 Secure Sehll Protocal, 安全壳协议. 按我的理解, 这玩意儿的主要作用就是通过在本地主机与远程服务器之间建立一个安全的隧道, 从而实现安全的数据交换. 当这个加密的安全通道建立后, 我们就可以好好地利用他了~
1.2 通过终端建立 SSH 连接
Bash 内建了 ssh 命令来建立隧道. 首先, 打开终端, 输入命令:
$ ssh -D 7070 user@hostname.com
接着会出现一些信息, 然后会提示输入你的 SSH 帐户登录密码.
敲完密码, 回车确认后, 就建立起了 SSH 通道.
注意: 上面命令中的 “-D” 表示指定端口, 这里我使用本地的 7070 端口来与远程服务器建立通信. 更多的信息, 请使用 ‘man ssh’ 或者 ‘ssh –help’ 来查看.
1.3 通过图形化软件建立 SSH 连接
我刚开始上手 Ubuntu 时, 完全不懂 bash 操作. 去找了一款名为 gstm 的 SSH 图形工具, 以备急用. 要安装他, 可以先按 Alt + F1 呼出 Applications 菜单, 选择最后的 Ubuntu Sofware Center, 然后输入 gstm:
接着选中搜索结果, 点击 “Install”.
安装完成后, 在 Applications 的 Internet 项中可以找到他. 运行后界面如下所示:
gstm 提供的功能十分简单. 选择”Add”可以新增一个 SSH 帐户. 输入一个自己喜欢的名称后, 来到详细配置界面:
需要填写的, 就是 Login 与 Host. 前者是 SSH 的用户名, 后者是 SSH 连接的远程服务器.
搞定后, 点击 “OK” 就可以了. 注意如果希望选择某个指定的端口来建立通信, 可以在 Port redirection 中点击 “Add”, 然后在弹出的对话框中将 Type 选择为 local, 并填入相应的 Port, 最后点击 “OK”.
最后, 将 gstm 设置为随机启动, 就大功告成了.
选择 System, 在弹出的菜单中依次选择 Preference -> Startup Applications. 在弹出的对话框中选中 Startup Programs, 选择右则的 “Add”, 然后填入相应的项, 选择 “Add” 即可.
2. 建立 SSH 时避免重复输入密码, 实现无密码登录
现在我们可以轻松建立 SSH 连接了. 但是, 不管是命令行方式, 还是使用 gstm, 每次连接都需要输入密码, 太过麻烦. 特别是在使用类似于 scp 传输多个文件时, 更是烦得要死. 有没有办法可以即保正 SSH 的安全性, 又免于重复输入密码呢?
SSH 协议有想到这个问题. 所以除了传统的密码验证, SSH 又提供了使用密钥对来验证身份的方案. 所谓密钥对验证, 按我不专业的解释, 就是在本地生成一对密钥兄弟, 大哥是公钥, 小弟是私钥. 然后将大哥上传到远程服务器, 小弟则留守本地.
使用时, 远程服务器会首先生成一串随机数, 由大哥进行加密, 再将密文发送到本地. 留在本地的小弟拿到密文后, 用之前和大哥约定好的方法将其解密, 再将明文返回到服务器. 服务器一看, 哟, 解密正确, 于是验证成功. 由于公钥与私钥之间的解密方式是唯一的, 所以这种验证方式不仅可靠, 也避免了每次登录都重复输入密码.
Ubuntu 下内置了 SSH 密钥对的生成工具 ssh-keygen. 在 bash 中输入:
$ ssh-keygen -t rsa
参数 “-t” 是指密钥对的加密方式, 这里选择 RSA 算法. 除此之外还可以选择 SSH2 支持的 DSA 算法. 两种算法对于 SSH 密钥对的生成没有什么影响. 然后会出现如下提示:
Enter passphrase (empty for no passphrase):
这里需要输入的不是 SSH 登录密码, 而是用于加密小兄弟私钥的密码 — 很显然, 在密钥对验证中, 私钥无疑相当于自己的密码, 需要妥善保管. 这里就是设置一个密码来保护私钥. 以免私钥落入亡我之心不死的坏人手中, 造成极其巨大的影响. 当然了, 我们也可以选择不输入, 继续回车, 这就完成密钥创建了.
创建成功后, 可以进入 ~/.ssh 里看刚生成的密钥对. 其中 id_rsa 是保管私钥的地方, id_rsa.pub 就是公钥了. 接下来需要更改一下本地 .ssh 与远程服务器的 .ssh 文件夹权限. 这步相当重要.
chmod 755 .ssh // 将本地 .ssh 的权限设为 755
chmod 600 id_rsa // 将本地 .ssh 中的 id_rsa(私钥)的权限设为 600
更改权限后, 将公钥放到服务器上并修改权限, 就大功告成啦!
在 bash 中使用 scp 复制文件到远程服务器并重命名为 authorized_keys:
scp ~/.ssh/id_rsa.pub user@hostname.com:~/.ssh/authorized_keys
chmod 755 .ssh // 和本地一样的权限
chmod 644 authorzide_keys // 将公钥权限设为 644 即可.
大功告成! 再也不用输入烦人的密码了.
3. 进阶: 使用 ssh-agent
现在不需要输入密码即可建立 SSH 连接了. 但还是有例外 — 如果我们刚才设置了私钥的密码, 那么在每次连接时, 仍然需要输入私钥密码. 不设置的话, 似乎又觉得不大稳妥. 我在网上找到一篇教程, 使用 ssh-agent 似乎可以解决这个问题.
它的原理大概是, 在首次输入私钥的密码后, ssh-agent 会将密码保存在缓存中, 而在以后就不用再次输入密码了. 但当 bash 结束后再次启动, 则还是会提示输入一次密码 — 这也算是一个折衷的方案了吧.
不过我也没有真正使用过这个工具, 如果对此有兴趣, 可以移步到这里学习.
原链接<http://uxat.me/2011/03/ubuntu-ssh/>
发表评论
-
<转>Linux命令小结 --写得最全最有用的
2014-07-21 15:40 925<转>Linux命令小结 --写得最全最有用的,原 ... -
SSH的登录限制
2014-04-17 11:30 17281、ip限制 从网络来的数据包首先要经过iptables,所以 ... -
linux修改时区
2013-12-27 14:28 1389原链接:http://blog.csdn.ne ... -
ls特殊场景用的命令
2013-12-26 10:37 413参考:http://man.lupaworld.com/con ... -
wget下载指定用户名密码
2013-11-11 14:03 44331、 # wget ftp://ftp.xxx.com/%D ... -
查看路由表
2013-09-29 09:49 784dos下查看路由表 tracert命令, tracert ... -
ubuntu-添加用户和java环境变量
2012-07-26 14:37 21101、添加用户 useradd 命令 -d 目录,指 ... -
LVM使用
2012-06-01 09:40 822摘要: Linux用户安装Linu ... -
[转]linux top 命令
2012-06-01 09:40 917linux top top命令是Linux下常用的性能分析工具 ... -
/usr、/var和/etc目录
2012-06-01 09:40 10783/usr 目录是应用程序主要存放的目录。该目录中的二进制文件对 ... -
lxc学习
2012-06-04 09:28 1376lxc能做什么: 可以为容器绑定特定的cpu和memory,分 ... -
[精华] 针对Web服务器总体优化
2012-05-31 15:46 996一、文件系统 在fstab里加入noatime,如 #ca ... -
Ubuntu服务详解
2012-05-17 17:24 967Liunx操作系统跟Windos XP ... -
ubuntu 自动启动和服务管理
2012-05-17 17:19 1194ubuntu 开机、重启和关机 ... -
su和sudo的区别与使用
2012-05-17 17:12 785一. 使用 su 命令临时切换用户身份 1、su 的适用条件和 ... -
LINUX配置文件
2012-05-17 17:02 757/etc/profile:此文件为系统的每个用户设置环境信息, ... -
linux系统下查看内存使用情况
2012-05-10 14:39 1006[导读]详解linux下查看内存使用情况 在Linux下 ... -
Linux iostat监测IO状态
2012-03-26 17:31 803Linux iostat监测IO状态 2010-03-1 | ... -
iostat来对linux硬盘IO性能进行了解
2012-03-26 17:30 806以前一直不太会用这个参数。现在认真研究了一下iostat,因为 ... -
SSH 后门
2012-03-26 16:33 988有很多次,我所在的站 ...
相关推荐
Part I: Installation and Configuration<br> Chapter 1 Introducing Ubuntu<br> Chapter 2 Preparing to Install Ubuntu<br> Chapter 3 Installing Ubuntu<br> Chapter 4 Post-Installation Configuration<br> ...
Python连连看是nautilium朋友为了练习Python与wxPython而编写的一个小游戏。...<br><br><br> <br>安装步骤:<br>直接运行pyllk.py<br><br> <br>测试环境:<br>Ubuntu Feisty<br>Windows XP<br>Windows Vista <br>
Ubuntu 实用学习教程<br>Ubuntu 是一个完全以 Linux 为基础的操作系统, 可自由的获得,并提供社区和专业的支持<br>。Ubuntu 宣言:软件应免费提供,软件工具应能以人们本地语种的形式可用且不牺牲任何功能,人们<br>...
English<br>ISBN: 0470082933<br>Paperback: 332 pages<br>Data: November 28, 2007<br>Format: PDF<br>Description: Aimed squarely at aspiring Linux power users and professional administrators, the Ubuntu ...
Ubuntu20.04离线安装openssh-server 安装步骤: sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.7_amd64.deb sudo dpkg -i openssh-...sudo dpkg -i ssh_8.4p1-6ubuntu1_all.deb 安装后执行: sudo service ssh restart
一个C++(Ubuntu16.04+QT5.9.1)通过JNI,调用JAVA类及方法的示例。通过JNI传递和返回多种类型的参数,boolean ,int,String,ArrayList<string>,ArrayList嵌套ArrayList<ArrayList<String>>等。
Linux上使用SQL*Plus有一个相当...<br>答案是安装一个小工具:Uniread<br><br><br><br><br>安装Uniread的要求<br><br>1.Linux系统上必须已经安装了Perl<br>2.安装Uniread之前先安装 readline,Term,IO这3个工具。<br>
1. 使用QT开发的简易串口程序 2. 使用socat 虚拟串口,可在linux系统下测试。
1.按以下顺序执行安装 ...sudo dpkg -i ssh_6.6p1-2ubuntu1_all.deb 2.安装后输入以下命令:ps -e|grep sshd 若看到sshd,就说明ssh-server已经启动了。 若未启动,尝试以下命令:/etc/init.d/ssh start
1.将4个文件放在一个单独的文件夹中,建议新建一个 2.命令行进入该文件夹 cd [你的新建文件夹] 3.执行 sudo dpkg -i openssh-client_7.2p2-4_amd64.deb sudo dpkg -i openssh-sftp-server_7.2p2-4_amd64.deb ...
sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.7_amd64.deb sudo dpkg -i openssh-client_8.4p1-6ubuntu1_amd64.deb sudo dpkg -i openssh-sftp-server_8.4p1-6ubuntu1_amd64....sudo dpkg -i ssh_8.4p1-6ubuntu1_all.deb
第一款真正意义上的U盘扩容检测工具<br><br>MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过... <br>声明:<br>在检测前请自行备份U盘/SD卡内的文件资料,以防数据丢失。
ubuntu 16.04 版本的openssh 离线安装包,dpkg -i 指令安装即可
ssh离线安装包,dpkg -i *.deb
Ubuntu手工安装SSH. 网上找的文档中有要安装的软件以及说明文档。Ubuntu手工安装SSH. 网上找的文档中有要安装的软件以及说明文档。Ubuntu手工安装SSH. 网上找的文档中有要安装的软件以及说明文档。
非常详细的讲解ubuntu下开启ssh服务。百分之百开启。借鉴很多人,做出最优的傻瓜配置
在真实的linux系统上搭建自己的linux系统文档,如在ubuntu上搭建自己的linux时,在安装tcl时configure会出错,解决方法(<br>打开configure{<br>2134行System=MP-RAS-'awk'{print}'/etc/.rclid"<br>7325行System=MP-RAS-...
Ubuntu 20.04.1安装ssh离线资源包
1.按以下顺序执行安装 ...sudo dpkg -i ssh_6.6p1-2ubuntu1_all.deb 2.安装后输入以下命令:ps -e|grep sshd 若看到sshd,就说明ssh-server已经启动了。 若未启动,尝试以下命令:/etc/init.d/ssh start