配置ssh远程登录
在创建密钥的时候,可以定义加密类型和长度,具体可以参考ssh-keygen命令帮助。创建的过程中,首先会提示你 保存的位置 和 文件名 ,再提示你 给密钥加个密码 ,也可以直接回车不要密码。
公钥和私钥默认保存这用户目录的 /ssh/ 文件夹下。默认情况下, id_rsa 为私钥, id_rsapub 为公钥。
此时 还是需要用用户名和密码登录远程Linux服务器。使用vi编辑 /etc/ssh/sshd_config 文件,先打开 PubkeyAuthentication 和 PermitRootLogin ,一般只要把这几个参数前面的#(注释符)删掉即可。
重启ssh服务
在macOS端操作以下命令,把公钥上传到远程服务器,会提示输入远程的Linux服务器的密码。
在远程Linux服务器上,操作以下命令,把公钥 追加 到服务器ssh认证文件中:
如果没有 authorized_keys 这个文件,请到 ssh 文件夹下创建一个,并把权限设置为600。
追加好后,如果要禁止用户名密码登录,再编辑 /etc/ssh/sshd_config 文件,把 PasswordAuthentication 设置为no。
重启SSH服务(每次修改ssh配置都需要重启)
如果没有设置密钥密码,直接这终端输入 ssh root@IP 即可登录远程服务器。如果该用户下没有公钥,则会提示Permission denied。
推荐这四款:
1、putty
putty是最有名的SSH和telnet客户端,由Simon
Tatham为Windows平台开发。putty是一款开源软件,提供可用的源代码并有一批志愿者进行开发和支持。
2、secureCRT
secureCRT支持SSH,同时支持Telnet和rlogin协议。secureCRT是一款用于连接运行包括Windows、Unix和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100、VT102、VT220和ANSI竞争,能从命令行中运行或从浏览器中运行。其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等。secureCRT的SSH协议支持DES、3DES和RC4密码和密码与RSA鉴别。
3、EasySSH
EasySSH是一款便捷的GUI SSH客户端,提供了一种连接远程Linux服务器的快捷工具。
尽管EasySSH没有提供Putty中提供的大量配置选项,但是它非常易于使用。EasySSH的最佳功能之一是提供标签式界面,因此你可以打开多个SSH连接并在它们之间快速切换。EasySSH的功能包括:分组、保存用户名密码、外观选项、支持本地和远程隧道。
4、Xshell
Xshell是一个强大的安全终端模拟软件,它支持SSH1、SSH2以及Microsoft Windows平台的TELNET协议。xshell通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
MAC 是自带SSH的,可以使用whereis查看是否存在,在终端执行下面的命令:
执行完后会打印存在路径
之后查看现有进程,执行下列命令:
执行完后会打印现有进程,但是你会发现找不到ssh对应的进程
下列为我的终端执行命令后的结果
这时候如果直接使用SSH命令连接本地主机或者远程主机会遇到下列错误:
解决方法:打开系统偏好设置,在共享中,打开远程登录,如下图:
之后使用ssh localhost来测试一下,如果提示输入密码来认证就没问题了。
之后再grep一下进程就可以看到ssh进程在运行了:
可以通过ssh命令连接其他主机,例如:
ssh username@192168100100
也可以通过ssh命令连接其他服务器,例如:ssh -p 端口 用户名@服务器ip地址
一个使用expect免输入密码自动登录ssh的shell脚本,方便好用,适用Mac、Linux
来自:https://githubcom/jiangxianli/SSHAutoLogin
1、ssh_loginsh
2、给ssh_loginsh文件执行的权限
3、配置服务器脚本文件 软连接
4、命令使用
服务器登录
选择序列号:1、2、3
5、删除服务器脚本文件 软连接
ln参数释义
1.命令格式:
ln [参数][源文件或目录][目标文件或目录]
2.命令参数:
必要参数:
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
选择参数:
-S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”
-V “-V<备份方式>”或“--version-control=<备份方式>”
--help 显示帮助信息
--version 显示版本信息
0条评论