通常服务器端, 是指我们想要通过ssh登录的机器,
在服务器段执行以下步骤
sudo apt update
sudo apt upgrade
sudo apt install openssh-server
首先使用
sudo systemctl status ssh
确认是否为 activate 状态;
如果没有启动,则执行
sudo systemctl enable ssh
sudo systemctl start ssh
一般服务器上安装ssh完成后,会自动启动ssh服务,并且默认随系统启动,如果没有,请手动启动:
sudo /etc/init.d/ssh start #服务器启动ssh-server服务,
sudo /etc/init.d/ssh stop #server停止ssh服务
sudo /etc/init.d/ssh restart #server重启ssh服务
sudo ufw allow ssh
sudo ufw enable
sudo ufw status
服务器ip 地址
ifconfig
服务器名称
whoami
ifconfig 参数解释
个人的ubuntu 系统是,是默认安装了 ssh 的 客户端,
sudo apt install openssh-client #本地主机运行此条,实际上通常是默认安装client
故可以直接使用 如下方式 登录
ssh service-name@ip
比如 machine@127.0.0.1
ssh yucicheung@10.170.11.147
#或
ssh -l yucicheung 10.170.11.147
# 如果需要调用图形界面程序
ssh -X yucicheung@10.170.11.147
当连接成功时,则命令提示副前的用户名@主机名由本地主机变成服务器的信息,即表明现在该终端所有的命令都是在服务器中执行。
如果服务器端的SSH服务没有开启在22端口,那么SSH链接时则需要用-p指定端口(如202):
或者有时加上端口号
ssh service-name@ip -p 12334
ctrl + d 或者 exit
利用公钥省去口令输入,
每次登录远程主机都需要输入密码是很不便捷的,如果要加速这一步骤,可以利用密钥对进行连接,主要思路是:生成一对公钥私钥,私钥在local主机上,公钥在远程服务器上,每次建立ssh连接自动检查密钥对是否匹配。
ssh-keygen -t rsa #-t表示选择类型,类型为rsa
执行以后会在$HOME目录下生成一个.ssh文件夹,其中包含私钥文件id_rsa
和公钥文件id_rsa.pub
。
# 登录远程服务器
ssh yucicheung@10.170.11.147
# 在服务器上创建.ssh文件夹,如果已经存在就跳过此步
mkdir .ssh
# 为了保证.ssh文件夹的安全,应取消其他用户对文件夹的所有权限
chmod 700 .ssh
# 退出登录
exit
# 本地主机的公钥复制到远程服务器,作为已认证密钥
scp /home/yucicheung/.ssh/id_rsa.pub yucicheung@10.170.44.206:/home/yucicheung/.ssh/authorized_keys
在进行以上配置以后,再进行连接时,就可以免去口令(密码)的输入了。