ubuntu 14.04开启ssh centos和ubuntu哪个好
如何在Ubuntu 14.04上启用SSH无密码登录
启用Ubuntu 14.04 SSH无密码登录的详细步骤
SSH登录通常需要输入用户名和密码,但通过加密密钥实现无密码登录提供了更高的安全性。只需禁用密码登录,只允许密钥认证即可。在这个过程中,客户端会生成一对私钥和公钥。
首先,安装OpenSSH服务端:更新本地库索引后,通过apt-get update安装,如图所示。
接着,开启SSH服务:OpenSSH安装完成后,使用命令启动服务。
然后,生成密钥对:通过终端运行命令,系统会提示存储路径和口令输入,保持默认或空格键即可生成一对密钥。
在密钥生成后,将公钥上传到服务端:在终端中运行命令,将客户端的公钥复制到SSH服务端。
为了确保安全,禁用密码登录并配置SSH:使用文本编辑器打开/etc/ssh/ssh_config,去掉密码登录相关注释,进行相应的设置。
最后,重启SSH服务并测试:修改完成后,通过命令重启SSH服务,现在你可以尝试无密码使用密钥对登录SSH服务端了。
如何设置 Ubuntu 14.04 的 SSH 无密码登录
这里快速的过一遍如何启用无密码登录SSH的配置过程。
1.安装Openssh服务端
首先,我们需要更新我们的本地库索引。所以如下所见,我们需要先输入“apt-get update”
$ sudo apt-get update
现在我们可以通过以下命令安装openssh-server:
$ sudo apt-get install openssh-server
2.开启openssh服务
在OpenSSH已经成功安装在Ubuntu14.04操作系统上了之后,我们要启动OpenSSH的服务。以下命令让你启动/开启服务。
$ sudo service ssh start
或
$ sudo/etc/init.d/ssh start
3.配置密钥对
在我们安装并启动了OpenSSH服务以后。现在终于到了要我们搞定公私钥对的时候了,在终端中运行以下命令:
$ ssh-keygen-t rsa
在运行完以上命令了以后,我们需要回答一系列的问题。首先选择保存密钥的路径,按回车将会选择默认路径即家目录的一个隐藏的.ssh文件夹。下一个提示是请输入口令提醒。我个人将此留空(直接回车)。之后密钥对就会创建,大功告成。
在密钥对生成以后,我们需要将客户端上的公钥复制到SSH服务端或者主机,来创建对客户端的信任关系。运行以下命令复制客户端的公钥到服务端。
$ ssh-copy-id user@ip_address
在公钥上传之后,我们现在可以禁用通过密码登陆SSH的方式了。为此,我们需要通过以下命令用文本编辑器打开/etc/ssh/ssh_config。
$ sudo nano/etc/ssh/sshd_config
现在,我们需要按照下图所示去掉几行注释并进行一些赋值。
4.重启SSH服务
最后,在我们配置完SSH服务端后,为了使改动生效我们需要重启SSH服务。在终端或控制台运行以下命令重启。
$ sudo service ssh restart
或
$ sudo/etc/init.d/ssh restart
现在,我们可以试试不用密码仅用密钥对的方式登录ssh服务端了。
Ubuntu14.04下ssh安装,基本操作及无密码登陆分享
客户端安装
ssh一般是远程安全登陆
如果是不需要配置ssh服务,只需下载安装相应的客户端就行了
sudo apt-get install openssh-client
安装成功后,在终端上敲上ssh,
如果有各种选项提示,就说明安装成功了
服务配置
如果需要配置相应的服务,也不是很难
sudo apt-get install openssh-server
一般就会自动启动服务了(以后开机也是如此)
为了验证下我们尝试一下指令
ps-e| grep sshd
出现相应的进程信息就说明ssh服务正常启动了
配置文件
一般来说ssh服务默认端口是22,可以通过指令验证下:
sudo netstat-ntlp| grep ssh
如果有需要该服务端口,可以修改/etc/ssh/sshd_config文件
vim/etc/ssh/sshd_config
修改Port 22为Port XXX(任意你想要的端口号,不过要验证该端口是否已被占用,可以通过netstat命令)
修改后可能会遇到无法保存的清况,因为在linux上会有各种权限问题,所以只要改下文件的权限就可以了
sudo chmod 777/etc/ssh/sshd_config
然后就能保存了,为了安全,你要在保存后把权限改回去
sudo chmod 644/etc/ssh/sshd_config
最后重新启动服务就行了
sudo service ssh restart或者sudo/etc/init.d/ssh就可以重新启动了
登陆验证
接下来就是登陆了,直接在终端上敲指令
ssh username@ip(username是你的用户名,ip是你的主机ip)
然后输入密码,就行啦
可以先在自己主机上体验,只需要把ip设置为127.0.0.1就行了
也可以远程登陆,只需要把ip改为远程主机的ip就行啦
无密码登陆的两种方法
一般对程序员来说,远程登陆进行各种操作是家常便饭,所以我们可能会厌烦每次都输密码
所以我们可以先写个shell脚本实现自动登陆,附带代码如下,阅读代码可能要了解下expect工具
然后还有一种实现的方式,就是讲自己密钥对里面的公钥放在远程主机的.ssh文件夹下面的authorized_keys文件中,
我们知道,我们这种远程登陆是基于ssh,所以就有密钥对这个概念了,如果大家对密钥不是很理解,可以参考下我之前关于
数字签名的博文,但是要比较深刻理解的可能需要参考更多的资料,这里推荐下大家百度下阮一峰的博客
首先,在自己当前用户的主目录下查找有没有.ssh这个目录,如果没有可能需要生成密钥对了
在终端敲下指令
ssh-keygen-t rsa
会在当前用户的主目录生成.ssh文件夹,文件夹中有id_rsa(私钥),和id_rsa.pub(公钥)两个文件
我们要做的就是ssh远程登陆到远程主机,将我们的公钥放到远程主机的.ssh目录下的authorized_keys文件中
这样以后我们就可以不需要密码就实现远程登陆了
远程上传文件或者拷贝文件的指令:
scp
将本地文件拷贝到远程:scp filename username@ip:path
从远程将文件拷回本地:scp username@ip:filename本地路径
如果是目录操作,只需要加上-r选项即可
远程文件操作可视化
然后经常敲命令对有些人来说也是比较烦的,毕竟可视化的话信息量更大也更人性化,
如果有这方面需求的,推荐下Ubuntu软件中心的一款ftp软件 fileZilla,直接在软件中心下载安装就行了
操作起来可能更方便些
然后对于远程操作,就没什么可以讲的了,只讲一点,习惯用vim文本编辑器,因为你别无选择
扯下git
ssh或者git设置无密码自动登陆远程仓库
一般都会有密码验证,不过可以通过设置远程主机给本地主机提供便利
可以通过公钥的方式
说道这里,可以扯下git题外话(如果只是想了解ssh操作的童鞋可以止步了):
如果用过git的人应该也知道git也是基于ssh的,所以,我们也可以通过相似的方法来实现
不需要密码就直接git pull, git push,这样也是极大方便了我们的开发
因为现如今的开发一般都是利用git分布式版本控制系统来进行协作开发
我们可以在自己的主机上建立git仓库,也可以在github上建立,直接把代码托管到github已经是当下的趋势
哈哈,算了,不水啦。