时间:2016年09月20日 | 作者 : liuhui | 分类 : Linux | 浏览: 7727次 | 评论 0 人
阿里云限量代金券 | 此广告位出租25元/月 |
openSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。 openSSH就是能提供远程访问服务的软件。
ssh 远程主机用户@远程主机ip地址
ssh -p <port> root@xxx.xxx.xxx.xxx
示列
ssh -p 31320 root@153.125.235.144
第一次建立链接要创建安全传输key
root@153.125.235.144's password:
输入密码,没有回显
Last login: Mon Sep 19 22:49:11 2016 from 60.188.217.203
[root@deb1d5646a67 ~]#
出现shell就显示登陆成功
ctrl + d 或者 logout退出登陆
vim /etc/motd ###设定登陆显示字符
在远程主机用户设置登陆显示字符,当登陆时就会显示
方法一,
有的时候经常需要登录ssh,每次都需要输入密码,会比较繁琐。所以设置了一下使用RSA公钥认证的方式登录Linux。
首先需要在服务器端设置/etc/ssh/sshd_config
# vim /etc/ssh/sshd_config
修改如下两行为yes。其实大多数情况下不用修改,默认就是yes。
RSAAuthentication yes
PubkeyAuthentication yes
(1) 如果客户机和服务器都是Linux机器,那么我们使用下面的方法:(后面第2节会提到怎么在Windows下使用Putty生成密钥对)
我们需要在客户端生成RSA密钥对。使用ssh-keygen命令:
# ssh-keygen -t rsa
参数t的意思是type,后面跟着加密类型,这里我们是rsa。
然后会提示你输入密钥保存完成文件名,这里我们需要使用默认的id_rsa,之后才能正常才能登录。如果你生成的密钥作为其他用处,那么可以命名为其他名称:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cake/.ssh/id_rsa):
之后会提示你输入一个passphrase,我们这里可以留空,这样我们登录的时候就不许输入密码。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
然后会提示你密钥生成成功。这是你的私钥保存为~/.ssh/id_rsa,你的公钥是~/.ssh/id_rsa.pub
我们现在需要做的是,把id_rsa.pub的内容,添加的服务器端的~/.ssh/autherized_keys文件最后。
你可以把这个文件上传到服务器端,然后使用命令:
# cat id_rsa.pub >> ~/.ssh/autherized_keys
到这里就完成了。
(2) 在Windows下使用Putty生成密钥对:
Putty的安装目录下有个puttygen.exe程序,我们运行这个程序。
之后点击Generate,开始生成密钥对。我们需要根据提示,在指定方框内随机滑动鼠标。这是为了根据鼠标轨迹,产生一些随机数据。
之后生成结束,我们点击Save Private Key将私钥存放在某个目录中。然后赋值最上面文本框中的全部内容,粘贴到Linux服务器端的autherized_key的最后。
我们现在可以关闭这个小程序。
现在打开Putty,在左边的选项中,选择Conneciton–SSH–Auth,在Private key file for authentication中,选择刚才保存的私钥路径就可以了。
到此位置,Putty也可以不用密码登录了。
方法二
使用Linux主机生成的密匙
1、生成密匙
[root@www.111cn.net .ssh]#ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ####指定加密字符保存文件,按回车键使用默认
Enter passphrase (empty for no passphrase): ####输入两次密码,必须大于4位
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa. ####这里提示在/root/.ssh/下生成两个文件
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
e4:9a:47:a7:b4:8a:0b:98:07:b8:70:de:6b:16:2c:0croot@www.111cn.net
说明:id_rsa位私钥,id_rsa.pub位公钥
authorized_keys ###此文件在目标用户家目录的.ssh中,这个文件就是目标用户被加密的标识,文件内容位公钥内容。
2、将 /root/.ssh/id_rsa.pub改名为/root/.ssh/authorized_keys
[root@www.111cn.net .ssh]#mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
3、将私钥id_rsa拷贝到远程客户端
1)、如果远程客户端是linux,拷贝到远程客户端/root/.ssh/即可
2)、putty作为远程客户端在
putty不能识别直接从服务器拷贝来的私钥,需要使用puttygen.exe进行格式转换
(1)、打开puttygen.exe --> Conversions --> Import Key
(2)、选择拷贝过来的私钥文件id_rsa
(3)、Save private key->id_rsa.ppk(保存私钥)
4、打开putty.exe
1)、Session --> Host Name (填写服务器地址或者域名)
2)、Connection --> SSH --> Auth (点Browse选择刚生成的id_rsa.ppk)
3)、open
成功打开后出现如下提示:
login as: root
Authenticating with public key "imported-openssh-key"
----------------------------------------------------------------------------------
当然你有可能会遇到这个错误 [因为我遇到了,呵呵]:
Permissions 0755 for '你配置的公钥文件路径' are too open.
这个是因为这几个文件权限设置的有点问题
执行命令: chmod 600 你的文件
LINUX下的详细说明:
ssh-copy-id -i /home/test/.ssh/id_rsa.pub root@222.24.14.61
ssh-copy-id ####上传key的工具 -i ####指定使用的公钥 /root/.ssh/id_rsa.pub #####使用公钥的名称 root ####被管理的目标用户 222.24.14.61 ####被管理用户所在主机的ip
vim /etc/ssh/sshd_config ###sshd服务的配置文件 第78行 PasswordAuthentication 改为 no ###关闭用户密码认证
一定要发送到登陆用户家目录的.ssh目录里,一定!
输入建立ssh-keygen 的密码登陆
vim /etc/ssh/sshd_config ###sshd服务的配置文件 Protocol 2 #只支持SSH2协议 Port <端口号> #修改默认端口号 MaxStartups 5 #同时允许5个尚未登录的SSH联机 MaxAuthTries 3 #最大登录尝试次数为3 ServerKeyBits 1024 #将ServerKey强度改为1024比特 PermitEmptyPasswords no #禁止空密码进行登录 ChallengeResponseAuthentication no #禁用s/key密码 UsePAM no #不通过PAM验证 PermitRootLogin no #禁止root远程登录 PasswordAuthentication no #不允许密码方式的登录 RSAAuthentication no #不允许RSA认证,只针对SSH1 PubkeyAuthentication yes #允许公钥认证 AuthorizedKeysFile .ssh/authorized_keys #保存公钥的认证文件 UsePrivilegeSeparation yes #用户权限设置 SyslogFacility AUTH #记录SSH登录情况 LogLevel INFO #记录等级为INFO PrintMotd yes #登录成功后显示/etc/motd 文件的内容 PrintLastLog no #不显示上次登录信息 Compression yes #是否压缩命令 KeepAlive yes #防止死连接 StrictModes yes #接受连接请求前对用户主目录和相关的配置文件进行宿主和权限检查 UseDNS no #不使用DNS反解 AllowUsers 用户名 #允许通过远程访问的用户,多个用户以空格分隔 AllowGroups 组名 #允许通过远程访问的组,多个组以空格分隔 DenyUsers 用户名 #禁止通过远程访问的用户,多个用户以空格分隔 DenyGroups 组名 #禁止通过远程访问的组,多个组以空格分隔
注:每次更改完配置文件,都要重启服务,从新加载配置以生效.
scp ##远程复制 scp file user@ip:/directory ##上传文件 scp -r dir user@ip:/directory ##长传目录 scp user@ip:/filename /direcotry ##下载文件 scp -r user@ip:/directory /direcotry ##下载目录
rsync ###远程同步 rsync file|direcotry user@ip:/directory rsync user@ip:/directory /directory -r ##同步目录 -l ##不忽略链接 -p ##不忽略特殊权限 -t ##不忽略时间戳 -g ##不忽略组信息 -o ##不忽略用户信息 -D ##不忽略设备文件
推荐您阅读更多有关于“”的文章
Powered By Z-Blogphp
分享:
支付宝
微信