我是靠谱客的博主 想人陪书本,最近开发中收集的这篇文章主要介绍Ubuntu下安装和配置OpenSSH,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、安装OpenSSH Server

 

1.首先查看是否已经安装过了

$ dpkg --list|grep ssh

     若结果中没有出现openssh-server,则说明没有安装。

 

2.安装openssh-server

$ sudo apt-get install openssh-server

 

二、配置OpenSSH

 

1.修改/etc/ssh/sshd_config

     最好事先备份一下:

$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

     将root帐户仅限制为控制台访问:

# vi /etc/ssh/sshd_config

     将permitRootLogin "yes" 改为"no"

     还有其它的更改,但我只改了这点而已。

 

2.启动和停止openssh server命令

     启动:$ sudo /etc/init.d ssh start

     停止:$ sudo /etc/init.d ssh stop

     重启:$ sudo /etc/init.d ssh restart

 

3.生成公钥和私钥

$ ssh-keygen -t rsa

     回车后会提示输入passphrase(密码短语),这是用来加密私钥的,可以不填直接回车,不过还是建议填一个更好。

     之后会在~/.ssh文件夹中生成id_rsa(私钥)和id_rsa.pub(公钥)两个文件。

 

4.补充设置

     将公钥添加到验证文件:

     进入.ssh文件夹:

$ cd ~/.ssh   

     这是将id_rsa.pub里的公钥复制到authorized_keys文件中,authorized_keys文件不存在的话会自动新建的:

$ cat id_rsa.pub >> authorized_keys

     将authorized_keys验证文件权限设置为只读:

$ chmod 400 authorized_keys

     或者右键属性修改,自己随意。

 

三、建立连接

 

     到这里,Ubuntu上的设置已经基本完成了,因为我自己的计算机是Windows 7,而Ubuntu是放在VM上的,所以就打算在win 7尝试通过SSH连接Ubuntu。以下是一些心得:

 

1.使用PuTTy

     PuTTy是SSH的一个客户端,可以在其官网下载安装。

 

2.尝试连接

     首先要知道Ubuntu上的ip:$ ifconfig

     得到ip地址,比如192.168.236.123。这时可以打开PuTTy.exe填入ip,选择好连接类型SSH,再点open应该就会连接成功了。

     此时会弹出两个窗口,其中一个是警告提示,选“是”或“否”都行,随意。然后会询问login as,填上Ubuntu的用户名即可,接着是password(密码),注意这是Ubuntu的登录密码,这时候是不需要passphrase的。

     于是这样就连接成功了,可以“远程 -_#'' ”控制Ubuntu了。

 

     另外,你会发现PuTTy里面的中文是乱码的,具体解决方法详见PuTTY中文教程。

 

3.使用金钥验证:

     上面的方法虽然可以连接,但似乎传输内容是没有加密的(?这一点我还不知道是不是这样?),还可以设置成使用公/私钥验证。

 

     要明确的是OpenSSH生成的密钥与PuTTy的密钥格式不一样,所以要将Ubuntu上的id_rsa转换为PuTTy的格式。

     首先将id_rsa复制到Windows中,打开PuTTYgen.exe,点击load选取id_rsa文件,接下来会提示输入passphrase(如果此时出现的是PuTTy Error,有可能是PuTTygen版本太低,到官网下载最新的PuTTygen即可),选择Save private key,会生成一份ppk文件,文件名随意。

     然后打开PuTTy.exe,输入Ubuntu的ip,选择SSH -> Auth -> Private key file for authentication,选取那份ppk文件,再回到Session保存该会话(以后再连接时就不用再重复以上操作了),点Open,之后你会发现PuTTY窗口要你使用passphrase而不是password来建立连接了。

 

     还有一点需要注意的是,像我这种情况,Ubuntu上使用的虚拟ip不是固定的,有时候建立连接时会提示“Network error: Connection timed out”,就有可能是ip地址已经改变了,所以连接前还要确认一下ip:$ ifconfig。【完】

最后

以上就是想人陪书本为你收集整理的Ubuntu下安装和配置OpenSSH的全部内容,希望文章能够帮你解决Ubuntu下安装和配置OpenSSH所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部